>  기사  >  백엔드 개발  >  PHP는 strtotime을 사용하여 지난 달, 다음 달 및 이번 달의 날짜를 가져옵니다_php 팁

PHP는 strtotime을 사용하여 지난 달, 다음 달 및 이번 달의 날짜를 가져옵니다_php 팁

WBOY
WBOY원래의
2016-05-16 20:01:22950검색

오늘 프로그램을 작성하던 중, 한 달의 일수를 구하기 위해 오래 전에 작성한 함수인 고전적인 스위치 버전을 갑자기 발견했습니다. 그런데 지난 달의 일수를 얻었을 때, 그냥 월을 -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);
 }

이전 달의 날짜에 대한 타임스탬프를 가져온 다음 해당 월에 -1을 추가해야 합니다. 슈퍼 스마트 date()는 2014-0-1과 같은 것을 2013-12-01로 변환합니다. 시원한. .

다음 달 날짜 가져오기:

 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);
 }

다음 달 날짜에 대한 코드가 조금 더 길어진 것 같습니다. date()가 2014-13-01과 같은 것을 변환할 수 없기 때문에 바로 1970년으로 돌아가기 때문에 12월의 문제를 앞쪽에서 처리해야 합니다. 12월을 제외하고는 매월 1일만이라도 괜찮습니다.

일반적으로 날짜 기능이 너무 강력합니다.

마지막으로 strtotime의 사용법을 간단히 소개하겠습니다

지정된 날짜의 Unix 타임스탬프 가져오기

strtotime("2009-1-22") 예시는 다음과 같습니다.

echo strtotime("2009-1-22")
결과: 1232553600
설명: 2009년 1월 22일 0:00:00의 타임스탬프를 반환합니다.

영어 문자 날짜 및 시간 가져오기

예시는 다음과 같습니다.

쉬운 비교를 위해 날짜를 사용하여 현재 타임스탬프와 지정된 타임스탬프를 시스템 시간으로 변환합니다

(1) 내일 이 시간에 타임스탬프를 인쇄합니다. strtotime(" 1 day")

현재 시간:
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

(2) 어제 이 시간의 타임스탬프를 출력합니다. strtotime("-1 day")

현재 시간:
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

(3) 다음 주의 타임스탬프를 인쇄합니다. strtotime(" 1 week")

현재 시간:
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

(4) 지난 주 이 시간의 타임스탬프를 인쇄합니다. strtotime("-1 week")

현재 시간:
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

(5) 지정된 다음 요일의 타임스탬프를 인쇄합니다. strtotime("다음 목요일")

현재 시간:
echo date("연월일 H:i:s",time())
결과: 2009-01-22 09:40:25
지정된 시간:
echo date("연월일 H:i:s",strtotime("다음 목요일"))
결과: 2009-01-29 00:00:00

(6) 지정된 요일의 타임스탬프를 인쇄합니다. strtotime("지난 목요일")

현재 시간:
echo date("연월일 H:i:s",time())
결과: 2009-01-22 09:40:25
지정된 시간:
echo date("연월일 H:i:s",strtotime("지난 목요일"))
결과 : 2009-01-15 00:00:00

위의 예에서 볼 수 있듯이 strtotime은 모든 영어 텍스트의 날짜 및 시간 설명을 Unix 타임스탬프로 구문 분석할 수 있습니다. 우리는 mktime() 또는 date()를 사용하여 지정된 타임스탬프를 얻기 위해 날짜 및 시간 형식을 지정합니다. 필요한 날짜와 시간을 달성하십시오.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.