我试过这个:
$date_string = strtotime('6 Mar, 2011 23:59:59');
但我认为PHP由于某种原因无法解释,因为它返回空。我试过这个:
$date_string = strtotime('6 Mar, 2011 midnight');
以上工作但我需要在午夜之前成为第二个,即当天的最后一秒。如何在不更改2011年3月6日的部分的情况下返回此页面?
答案 0 :(得分:11)
如果我使用March 6, 2011 23:59:59
,它对我有用。有没有改变输入格式的机会?
除此之外,您当然可以从时间戳中减去1秒。但请注意,您需要使用3月7日:
$date_string = strtotime('7 Mar, 2011 midnight') - 1;
答案 1 :(得分:11)
希望这会有所帮助。我使用了它,它在午夜之前给出了今天的时间戳。反直觉。
$today_timestamp = strtotime('tomorrow - 1 second');
答案 2 :(得分:2)
为什么不使用mktime
?
mktime(23,59,59,3,6,2011);
答案 3 :(得分:2)
如果您使用的是PHP 5.3或更高版本,则可以使用DateTime类。
createFromFormat功能允许您手动指定如何解析输入日期字符串。
$date = '6 Mar, 2011 23:59:59';
$timestamp = DateTime::createFromFormat('d M, Y H:i:s', $date)->getTimestamp();