我的脚本有问题,我不明白问题出在哪里。所以我有这个代码:
$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-04
和Last Win:2015-12-03
你能帮我解决我犯错的地方吗? Thx提前和抱歉我的英语
答案 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(天)。