我将如何找到上周三午夜的 unix 时间戳?我唯一的方法是获取今天的日期索引和天数,然后减去差异,但我可以想到几种情况会失败,例如,在星期三发生前一个月的早些时候。
我想,更简洁地说,我如何找到上周三的日期?
任何帮助,将不胜感激。
我将如何找到上周三午夜的 unix 时间戳?我唯一的方法是获取今天的日期索引和天数,然后减去差异,但我可以想到几种情况会失败,例如,在星期三发生前一个月的早些时候。
我想,更简洁地说,我如何找到上周三的日期?
任何帮助,将不胜感激。
怎么样strtotime
?
$timestamp = strtotime("last Wednesday");
var_dump($timestamp);
var_dump(date('Y-m-d H:i:s', $timestamp)); // to verify
你得到这个输出:
int 1247608800
string '2009-07-15 00:00:00' (length=19)
这确实是上周三午夜。
这比你想象的要容易......观察这个全面运作的战斗站的强大火力,呃,我的意思是strtotime
$t=strtotime("last wednesday");
echo strftime("%d %b %Y %H:%M:%S", $t);
这将输出
15 Jul 2009 00:00:00
在撰写本文时,是上周三 :)
你想有多“正确”?如果您想要高度正确,则需要考虑夏令时、时区、闰年等。这意味着使用库而不仅仅是减去日索引。
我目前没有做 PHP,但我曾经对 Pear 库有好运:这里是Calendar 类的文档