2013. 5. 14. 14:41
날짜, 시간관련 함수
2013. 5. 14. 14:41 in 자작소스/PHP
/** * datetime 형식을 date 형식만 가져옴 * @param string $datetime * @return string */ function datetime2date($datetime) { if(empty($datetime)) return $datetime; $tmp = explode(' ',$datetime); return $tmp[0]; } /** * datetime 형식을 time 형식만 가져옴 * @param string $datetime * @return string */ function datetime2time($datetime) { if(empty($datetime)) return $datetime; $tmp = explode(' ',$datetime); return $tmp[1]; } /** * datetime을 2줄로 출력 * @param datetime $datetime * @return DateTime */ function datetime2br($datetime) { return str_replace(' ','<br />',$datetime); } /** * datetime을 배열로 변환 * @param datetime $datetime */ function datetime2array($datetime) { return sscanf($datetime, '%4d-%2d-%2d %2d:%2d:%2d'); } /** * datetime을 date 요일 현태로 리턴 * @param datetime $datetime * @return string */ function datetime2format($datetime) { $tmp = strtotime($datetime); $w = date('w', $tmp); return date('Y.m.d '.get_week_hangul($w), $tmp); } /** * D-DAY 계산 * @param date $ddate * @param date $ndate * @return int */ function dday($ddate, $ndate) { $tmp = strtotime($ddate) - strtotime($ndate); $dday = ceil($tmp / 86400); if($dday < 0) return 'D - '.abs($dday); else if($dday > 0) return 'D + '.$dday; else return ''; } /** * 숫자를 요일로 변환 * @param int $wcode */ function get_week_hangul($wcode) { $rtn = array('일','월','화','수','목','금','토'); return $rtn[$wcode]; } /** * 현재 분기 리턴 */ function now_quater() { $m = date('n'); if($m < 4) return 1; else if($m > 3 && $m < 7) return 2; else if($m > 6 && $m < 10) return 3; else return 4; } /** * 분기를 시작일,종료일(날짜시간)으로 리턴 * @param int $year 년 * @param int $quater 분기 */ function quater2datetime($year, $quater) { if($quater == 1) return array($year.'-01-01 00:00:00',$year.'-03-31 23:59:59'); else if($quater == 2) return array($year.'-04-01 00:00:00',$year.'-06-30 23:59:59'); else if($quater == 3) return array($year.'-07-01 00:00:00',$year.'-09-30 23:59:59'); else return array($year.'-10-01 00:00:00',$year.'-12-31 23:59:59'); } /** * 초를 시분초로 변경 * @param int $sec 초 * @return string */ function sec2hms($sec) { $rtn = ''; $hour = (int)($sec / 3600); if($hour) { $sec = $sec - $hour * 3600; $rtn .= $hour.'시간 '; } $min = (int)($sec / 60); if($min) { $sec = $sec - $min * 60; $rtn .= $min.'분 '; } if($sec) return $rtn.$sec.'초'; else return $rtn; }