Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 给定一个时间,我怎么能找到一个月前的时间_Php_Date_Time - Fatal编程技术网

Php 给定一个时间,我怎么能找到一个月前的时间

Php 给定一个时间,我怎么能找到一个月前的时间,php,date,time,Php,Date,Time,给定一个时间,我如何才能找到一个月前的时间。在php中,您可以使用strotime(“-1个月”)。请在此处查看文档: 我们可以通过使用PHP的现代数据处理实现同样的效果。这需要PHP5.2或更高版本 // say its "2015-11-17 03:27:22" $dtTm = new DateTime('-1 MONTH', new DateTimeZone('America/Los_Angeles')); // first argument uses strtotime parsing

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

在php中,您可以使用strotime(“-1个月”)。请在此处查看文档:


我们可以通过使用PHP的现代数据处理实现同样的效果。这需要PHP5.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"

希望这能为这个问题添加更多的信息。

PHP5.2=这段代码是为提前一个月而不是30天获得的

$date = "2016-03-31";

$days = date("t", strtotime($date));

echo  date("Y-m-d", strtotime( "-$days days", strtotime($date) ));

这些答案快把我逼疯了。如果不跳过短短的几个月,你不可能减去31天就得到一个正常的结果。 我想你只关心月份,而不是月份的哪一天,比如按年份和月份过滤/分组

我是这样做的:


$current_ym=日期('ym',标准时间('15天,$ts))

你说的“一个月”是指30天到第二天吗?或者你想适应2月28日或29日的问题吗?你能更具体一点吗?例如,如果是12月29日下午2:00,一个月前的时间不是11月29日下午2:00吗?注意:这将在31天月底和3月底导致意外结果。
// 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"
$date = new DateTime(); // Return Datetime object for current time
$date->modify('-1 month'); // Modify to deduct a month (Also can use '+1 day', '-2 day', ..etc)
echo $date->format('Y-m-d'); // To set the format 
$date = "2016-03-31";

$days = date("t", strtotime($date));

echo  date("Y-m-d", strtotime( "-$days days", strtotime($date) ));