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

使用现有日期变量获取php中的昨天日期,php,date,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。我目

我的日期代码如下:

$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
。我目前正在使用这个
日期('Ymd',strotime(“-1天”)
,但我认为它不正确。使用我的第一个代码获取昨天日期的最佳方法是什么

您可以使用以下功能:-

$date->modify('-1 day');
或者你可以减去a:-

有关更多信息,请参阅

如果不希望修改原始$date变量,则可以使用:-

$date = new \DateTimeImmutable();
$yesterday = $date->sub(new \DateInterval('P1D');
您可以使用以下功能:-

$date->modify('-1 day');
或者你可以减去a:-

有关更多信息,请参阅

如果不希望修改原始$date变量,则可以使用:-

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

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

在DateTime上使用::modify()方法:


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

在DateTime上使用::modify()方法:

使用修改功能

<?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');
?>

请点击此处:

有关更多信息,请检查此项:

使用修改功能

<?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');
?>

请点击此处:

有关更多信息,请检查此项:

使用此项:

$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');
echo "\n";
$interval = new DateInterval('P1D');
$date->sub($interval); 
echo $date->format('Y-m-d H:i:s');
使用以下命令:

$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');
echo "\n";
$interval = new DateInterval('P1D');
$date->sub($interval); 
echo $date->format('Y-m-d H:i:s');
$date->modify(“-1天”)
$date->modify(“-1天”)