2009-12-30 217 views
5

给定一段时间,我怎么才能找到一个月前的时间。给定一段时间后,如何才能找到一个月前的时间

+0

“一个月”你的意思是第二天30天吗?或者你想调整一个28或29天的二月问题? – fennec 2009-12-30 05:27:27

+0

你能更具体一点吗?例如,如果是12月29日下午2点,那么一个月前的时间不会是11月29日下午2点? – justinl 2009-12-30 05:27:52

回答

15
strtotime('-1 month', $timestamp); 

http://php.net/manual/en/function.strtotime.php

+2

请注意:这将在31天月份和3月份结束时产生意想不到的结果。 http://derickrethans.nl/obtaining-the-next-month-in-php.html – 2015-08-01 19:53:13

1
<?php 

$date = new DateTime("18-July-2008 16:30:30"); 
echo $date->format("d-m-Y H:i:s").'<br />'; 

date_sub($date, new DateInterval("P1M")); 
echo '<br />'.$date->format("d-m-Y").' : 1 Month'; 

?> 
1

我们可以通过使用PHP的现代日期处理相同。这将需要PHP 5.2或更高版本。

// say its "2015-11-17 03:27:22" 
$dtTm = new DateTime('-1 MONTH', new DateTimeZone('America/Los_Angeles')); // first argument uses strtotime parsing 
echo $dtTm->format('Y-m-d H:i:s'); // "2015-10-17 03:27:22" 

希望这会为此问题增加一些更多信息。

相关问题