从给定时间减去一秒

时间:2012-10-14 18:15:44

标签: php datetime time

我想添加1天,然后从给定时间减去(减去)1秒。

我做了:

$fromDate = date("Y-m-d", strtotime("2012-09-28")).' 00:00:00';
$date = strtotime(date("y-m-d H:m:s", strtotime($fromDate)) . " +1 day") - 1;
$toDate = date('Y-m-d H:m:s', $date);
echo $toDate;

但不是2012-09-28 23:59:59而是返回2012-09-29 00:09:59

我做错了什么?

2 个答案:

答案 0 :(得分:20)

你要绕过而不是在你的代码中找到重点。这是我的DateTime个对象的解决方案:

$time = new DateTime("2012-09-28");
$time->modify("+1 day");
$time->modify("-1 second");

var_dump($time);

或者,如果您只需要当天的最后一秒,为什么不呢:

$time = "2012-09-28";
$time .= " 23:59:59";

因为改变一天的秒数/分钟/小时数不太可能。

答案 1 :(得分:2)

如果我理解你的话,你只想要在给定的一天中的最后一秒,对吗?

如果是这种情况,那么你可以:

$theDate = "2012-09-28";
$fromDate = $theDate." 00:00:00";
$toDate = $theDate." 23:59:59";