2013-04-03 196 views
0

如何计算昨天我们记住dst的unix时间戳?Unix时间戳记DST计算日期

通常情况下,我会做$timestamp - 86400,但是如果昨天没有DST,今天就不行了。

+0

'strtotime('昨天')'? – BenM

+0

是的,但后来我不得不先转换为英文时间。我希望跳过这一步 – AgeDeO

+0

这没有任何意义。 '$ timestamp - 86400'表示*时间戳减86400 *秒。该值不依赖于时区。你期望什么结果? – deceze

回答

0

您应该使用DateTime类,你就必须specifiy英格兰在TIMESTRING时区(BST) 。像这样:

$dt = new DateTime('Yesterday BST'); 
$timestamp = $dt->getTimestamp(); // first second of 'yesterday' 

上面的例子将尊重夏令时。