오늘 프로그램을 작성하던 중, 한 달의 일수를 구하기 위해 오래 전에 작성한 함수인 고전적인 스위치 버전을 갑자기 발견했습니다. 그런데 지난 달의 일수를 얻었을 때, 그냥 월을 -1로 바꿨나봐요..그때 너무 졸려서 봤을땐 소름끼치는 느낌이었는데 원래는 또 처리하고 싶었는데 뭔가 엄청 편리한 방법이 있을 것 같았어요. , 그래서 아래 버전을 찾아서 약간 수정했습니다.
이번 달 날짜 가져오기:
function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
지난달 날짜 가져오기:
function getlastMonthDays($date){ $timestamp=strtotime($date); $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
다음 달 날짜 가져오기:
function getNextMonthDays($date){ $timestamp=strtotime($date); $arr=getdate($timestamp); if($arr['mon'] == 12){ $year=$arr['year'] +1; $month=$arr['mon'] -11; $firstday=$year.'-0'.$month.'-01'; $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); }else{ $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); } return array($firstday,$lastday); }
일반적으로 날짜 기능이 너무 강력합니다.
마지막으로 strtotime의 사용법을 간단히 소개하겠습니다
지정된 날짜의 Unix 타임스탬프 가져오기
echo strtotime("2009-1-22")
결과: 1232553600
설명: 2009년 1월 22일 0:00:00의 타임스탬프를 반환합니다.
영어 문자 날짜 및 시간 가져오기
쉬운 비교를 위해 날짜를 사용하여 현재 타임스탬프와 지정된 타임스탬프를 시스템 시간으로 변환합니다
현재 시간:
echo date("연월일 H:i:s",time())
결과: 2009-01-22 09:40:25
지정된 시간:
echo date("연월일 H:i:s",strtotime(" 1일"))
결과: 2009-01-23 09:40:25
현재 시간:
echo date("연월일 H:i:s",time())
결과 : 2009-01-22 09:40:25
지정된 시간:
echo date("연-월-일 H:i:s",strtotime("-1일"))
결과: 2009-01-21 09:40:25
현재 시간:
echo date("연월일 H:i:s",time())
결과: 2009-01-22 09:40:25
지정된 시간:
echo date("Y-m-d H:i:s",strtotime(" 1주"))
결과: 2009-01-29 09:40:25
현재 시간:
echo date("연월일 H:i:s",time())
결과 : 2009-01-22 09:40:25
지정된 시간:
echo date("연월일 H:i:s",strtotime("-1주"))
결과: 2009-01-15 09:40:25
현재 시간:
echo date("연월일 H:i:s",time())
결과: 2009-01-22 09:40:25
지정된 시간:
echo date("연월일 H:i:s",strtotime("다음 목요일"))
결과: 2009-01-29 00:00:00
현재 시간:
echo date("연월일 H:i:s",time())
결과: 2009-01-22 09:40:25
지정된 시간:
echo date("연월일 H:i:s",strtotime("지난 목요일"))
결과 : 2009-01-15 00:00:00