使用现有日期变量在php中获取昨天的日期

时间:2016-06-10 06:13:35

标签: php date

我的日期代码如下:

$UTC = new DateTimeZone("UTC");
$newTZ = new DateTimeZone("America/New_York");
$date = new DateTime( "2011-01-01 15:00:00", $UTC );
$date->setTimezone( $newTZ );
echo $date->format('Y-m-d H:i:s');

我的问题是如何获得2011-01-01 15:00:00的昨天时间。我目前正在使用此date('Ymd',strtotime("-1 days")),但我认为这不对。使用我的第一个代码获取昨天日期的最佳方法是什么?

4 个答案:

答案 0 :(得分:3)

在互联网和stackoverflow上,这个问题有很多答案。所以,再一次:

在DateTime上使用:: modify()方法:http://php.net/manual/en/datetime.modify.php

$date->modify('-24 hours')
$date->modify('-1 day')

答案 1 :(得分:2)

使用它:

File::put()

答案 2 :(得分:1)

您可以使用\DateTime::modify()功能: -

$date->modify('-1 day');

或者你可以减去DateInterval: -

$date->sub(new \DateInterval('P1D');

有关详细信息,请参阅DateTime manual

如果您不想修改原始的$ date变量,那么您可以使用DateTimeImmutable代替: -

$date = new \DateTimeImmutable();
$yesterday = $date->sub(new \DateInterval('P1D');

答案 3 :(得分:1)

使用修改功能

<?php
$UTC = new DateTimeZone("UTC");
$newTZ = new DateTimeZone("America/New_York");
$date = new DateTime( "2011-01-01 15:00:00", $UTC );
$date->setTimezone( $newTZ );
echo $date->format('Y-m-d H:i:s');
$date->modify('-1 day');
echo "\n";
echo $date->format('Y-m-d H:i:s');
?>

点击此处:https://eval.in/586553

有关详情,请查看:http://php.net/manual/en/datetime.modify.php