<?
/*
asp의 dateadd처럼 만들어봤다.
작성자 - 강동수
날짜 - 2007-02-22
 
 
TYPE값
y = 년도
m = 월
d = 일
h = 시간
min = 분
s = 초
 
u_dateadd와 dateadd가 있는데
udateadd는 타임스탬프 날짜 값일때 사용하고
dateadd는 YYYY-MM-DD날짜값일때 사용
iso_date함수는 타임스탬프날짜값을 YYYY-MM-DD로 치환한다.
timestamp_date함수는 YYYY-MM-DD날짜값을 타임스탬프 날짜값으로 치환한다.
 
ex)
//2007-02-22날짜에 10일을 더한 날짜를 구한다.
echo dateadd('d',10,'2007-02-22');
result - '2007-03-04'
 
각함수의 입력데이터의 형식 오류처리는 안했다. 시간상..
 
*/

Function u_dateadd($type,$num,$input_date){
//$input_date날짜형식이 유닉스타임스탬프값일때
$type = strtolower($type);
$year = date('Y',$input_date);
$month = date('m',$input_date);
$day = date('d',$input_date);
$hours = date('G',$input_date);
$minutes = date('i',$input_date);
$seconds = date('s',$input_date);
//type정의
if($type=="y"){
$year += $num;
}else if($type=="m"){
$month += $num;
}else if($type=="d"){
$day += $num;
}else if($type=="h"){
$hours += $num;
}else if($type=="min"){
$minutes += $num;
}else if($type=="s"){
$seconds += $num;
}
$date = mktime($hours,$minutes,$seconds,$month,$day,$year);
return $date;
}
 
Function dateadd($type,$num,$input_date){
//$input_date 날짜형식이 YYYY-MM-DD일때
$type = strtolower($type);
$date = explode("-",$input_date);
//type정의
if($type=="y"){
$date[0] += $num;
}else if($type=="m"){
$date[1] += $num;
}else if($type=="d"){
$date[2] += $num;
}
$date = mktime(0,0,0,$date[1],$date[2],$date[0]);
return iso_date($date);
}
 
Function iso_date($u_date){
//유닉스 타임스탬프날짜값을 YYYY-MM-DD형식으로 리턴
$year = date('Y',$u_date);
$month = date('m',$u_date);
$day = date('d',$u_date);
return "$year-$month-$day";
}
 
Function timestamp_date($u_date){
//YYYY-MM-DD형식의 날짜값을 유닉스 타임스탬프값으로 리턴
$date = explode("-",$u_date);
$date = mktime(0,0,0,$date[1],$date[2],$date[0]);
return $date;
}
?>

'PHP' 카테고리의 다른 글

메인페이지 캐싱처리  (0) 2007.10.13
PHP 엔코더 이온큐브 가격할인 이벤트  (0) 2007.10.08
날짜와 시간 함수  (0) 2007.04.03
코드 재활용  (0) 2007.04.03
문자열 관련 PHP함수  (0) 2007.04.03
Posted by 다엘
,