2016-08-03 2 views

답변

11
<?php 
    echo $newdate = date("m-Y", strtotime("-1 months")); 

출력

07-2016 
+0

N.B에서 사용할 수 있습니다.이 예제를 사용하기 전에 아래의 가장자리 케이스에 대한 경고를 읽으십시오. –

3

이 시도

$today = date('m-Y'); 
$newdate = date('m-Y', strtotime('-1 months', strtotime($today))); 
echo $newdate; 
+0

에는 이번 달에 시작하여 지난 12 개월간의 일정을 가져오고 싶다는 내용이 포함되어 있어야합니다. – Grant

+0

루프 –

1

(내가 정확히 기억한다면 PHP 5.2에서 소개) 당신이 DateTime 개체를 사용할 수있는 PHP 버전에 따라 :

<?php 
$today = new DateTime(); // This will create a DateTime object with the current date 
$today->modify('-1 month'); 

다른 날짜를 생성자는 현재 날짜 일 필요는 없습니다. 추가 정보 : http://php.net/manual/en/datetime.modify.php

2

경고! 월말에 전화를 걸면 위의 예는 작동하지 않습니다.

<?php 
$now = mktime(0, 0, 0, 10, 31, 2017); 
echo date("m-Y", $now)."\n"; 
echo date("m-Y", strtotime("-1 months", $now))."\n"; 

출력 할 것이다 :

10-2017 
10-2017 

다음 예와 동일한 결과를 생성 할 것이다 :

문제를 해결하는 방법 많은 방법은 또 다른 스레드에서 찾을 수
$date = new DateTime('2017-10-31 00:00:00'); 
echo $date->format('m-Y')."\n"; 
$date->modify('-1 month'); 
echo $date->format('m-Y')."\n"; 

: PHP DateTime::modify adding and subtracting months