如何查找上周三午夜的unix时间戳?我唯一的方法是获取今天的日期指数和日期数,并减去差异,但我可以想到几种情况会失败,例如,在星期三发生之前的一个月内。
我想,更简洁一点,我怎样才能找到上周三的日期?
任何帮助都将不胜感激。
答案 0 :(得分:5)
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)
确实是上周三,午夜。
答案 1 :(得分:4)
比你想象的要容易得多......观察这个完全可操作的战斗站的强大火力,呃,我的意思是strtotime
$t=strtotime("last wednesday");
echo strftime("%d %b %Y %H:%M:%S", $t);
这将输出
15 Jul 2009 00:00:00
在撰写本文时,这是上周三:)
答案 2 :(得分:0)
你想成为多么“正确”?如果您想要高度正确,则需要考虑夏令时,时区,闰年等。这意味着使用库而不仅仅是减去日期索引。
我目前没有使用PHP,但我曾经对Pear库运气好: 这是Calendar类的docs