strtotime - 午夜之前的第二个

时间:2011-03-06 17:55:21

标签: php

我试过这个:

$date_string = strtotime('6 Mar, 2011 23:59:59');

但我认为PHP由于某种原因无法解释,因为它返回空。我试过这个:

$date_string = strtotime('6 Mar, 2011 midnight');

以上工作但我需要在午夜之前成为第二个,即当天的最后一秒。如何在不更改2011年3月6日的部分的情况下返回此页面?

4 个答案:

答案 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();