Php 将日期设置为昨天的日期

Php 将日期设置为昨天的日期,php,codeigniter,date,Php,Codeigniter,Date,我有一段代码将日期设置为360天后, 我想知道如何更改这段代码,使之成为昨天的日期,即2016年3月28日 $tmpdate = new DateTime(date("Y-m-d")); $tmpdate->add(new DateInterval('P360D')); $Available = $tmpdate->format('Y-m-d'); 昨天: echo date("Y m d h:i",time() -60*60*24)

我有一段代码将日期设置为360天后, 我想知道如何更改这段代码,使之成为昨天的日期,即2016年3月28日

$tmpdate = new DateTime(date("Y-m-d"));
            $tmpdate->add(new DateInterval('P360D'));
            $Available = $tmpdate->format('Y-m-d');
昨天:

echo date("Y m d h:i",time() -60*60*24); // 24 hours ago.
echo date("Y m d",time() -60*60*24); // yesterday as in date.
正如马克在下面指出的,我没有想到夏令时。所以

$date = new DateTime(null, new DateTimeZone('Europe/Stockholm')); // Change to suit
$Heretime = $date->format('H');
$date->setTimezone(new DateTimeZone('UTC'));
$Difftime = $date->format('H') - $Heretime;

echo date("Y m d h:i",time() -60*60*(24-$Difftime)); // 24 hours ago in UTC.
echo date("Y m d",time() -60*60*(24-$Difftime)); // yesterday as in date in UTC.
从那里你可以把它转换回来我想。。。或者我完全迷路了?

你可以这样做:

date("Y-m-d", strtotime("-1 day")); // yesterday (based on server date)
对于任何其他日期,您可以使用strotime:

strtotime("30-12-9999");
我希望它能帮助你


注意。

如果整数大小为32位,则未来日期不可能。将日期直接作为字符串传递给构造函数。昨天呢?
tmpdate->sub(newdateinterval('P1D')如果使用日期选择器,则可以使用like$(“#date”).datepicker('setDate','28/3/2016');如果你在夏时制的尖端,可能不会复制。。。。你假设每天的长度都是一样的真的。。。在这种情况下,我想您需要将时间与UTC时间匹配,以查看是否为夏令时?谢谢!我基本上想要这个。