使用php在两天内的差异

时间:2015-12-04 12:14:07

标签: php php-5.3 php-5.5

我的脚本有问题,我不明白问题出在哪里。所以我有这个代码:

 $i_now = strtotime(date('Y-m-d'));
 $i_date_last_bonus = strtotime($o_member->date_last_bonus);                
 $i_datediff = round(abs($i_now - $i_date_last_bonus) / 86400);
 print_r("Date Now :".date('Y-m-d'));
 print_r("Last Win :".$o_member->date_last_bonus);

我收到了$i_datediff = 1但我不明白为什么,因为在print_r中我有Date Now :2015-12-04Last Win:2015-12-03 你能帮我解决我犯错的地方吗? Thx提前和抱歉我的英语

2 个答案:

答案 0 :(得分:2)

在一天中有24小时,每小时有60分钟,每分钟有60秒。因此,一天有24 * 60 * 60 = 86400秒。

现在,strtotime()函数将英文文本日期时间解析为Unix时间戳(自1970年1月1日00:00:00 GMT以来的秒数)。意味着它返回秒。

所以,i_now = 1449187200和i_date_last_bonus = 1449100800 差异是86400秒。

现在$i_datediff = round(abs($i_now - $i_date_last_bonus) / 86400);这是以天为单位转换秒数。

差异是86400 / 86400 = 1 意味着1天。

答案 1 :(得分:1)

这个结果是正确的,因为你首先获得两个日期之间的秒数,然后将它除以24小时内的秒数(86400),结果为1(天)。