【发布时间】:2017-01-04 20:52:23
【问题描述】:
在 php 日期中使用逻辑运算符并不完全正确。可以得出2016年在2017年之前,但无法实现当月1号在4号之前。
我已经注意到这种错误有一段时间了:如何最好地修复和避免它?
$date_extra_early = date("2017-01-1 07:30:00");
$today = date("Y-m-d H:i:s");
var_dump($today);
var_dump($date_extra_early);
if ($today>$date_extra_early)
echo("today is greater than date extra early\n");
else echo("today is less than date extra early\n");
输出
string(19) "2017-01-04 14:50:32" string(18) "2017-01-1 07:30:00" 今天 比日期更早
【问题讨论】:
-
您是否尝试过使用正确的日期时间值作为输入?
$date_extra_early = date("2017-01-01 07:30:00"); -
@feeela 好的,前导零使该逻辑语句起作用,但这不仅仅是一个错字。我注意到日期的可靠性非常不稳定。我曾经依赖它的时候,它已经灾难性地分崩离析了。想知道是否有办法帮助保证它按预期工作。
-
目前无法测试,但请尝试
if ( strtotime("$today") > strtotime("$date_extra_early")) ...
标签: php apache time logical-operators