使用strtotime计算天数会返回错误的结果

und*_*ned 1 php mysql date operators strtotime

我有两个日期存储在mysql数据库中(Type = date).例如 -

日期1 = 2010-09-20
日期2 = 2010-10-20

我想计算这两个日期之间的天数.所以试过这个 -

$number_days = (strtotime($date2) - strtotime($date1) / (60 * 60 * 24));
Run Code Online (Sandbox Code Playgroud)

但这回归49

怎么会这样?

-------------------------------------更新------------ ------------------------------

好的,我意识到我的问题导致了一些混乱.我正在使用另一个函数来检索日期1,由于各种原因,这个日期没有正确返回,因此给出的天数实际上是正确的.当我从数据库中检索到正确的日期时,我上面的计算工作,考虑到/的优先级 -

谢谢你的回复.

cod*_*ict 17

/具有较高的precedence-

所以 (a - b / c)将被视为( a - (b/c) )你需要的是( (a - b) / c )

所以尝试:

$number_days = (strtotime($date2) - strtotime($date1))  / (60 * 60 * 24);
Run Code Online (Sandbox Code Playgroud)