[英]How can I do addition with time variable in php
我当时认为这应该很简单。
$m_time1 = strtotime('1:00:00');
$m_time2 = strtotime('5:30:00');
$m_total = $m_time1 + $m_time2;
echo date('h:i:s', $m_total);
其结果是3:30:00
,但应该是6:30:00
有什么线索吗?
strtotime()
会产生一个unix时间戳,表示从提供的时间到1970年1月1日之间的秒数。由于您没有在函数调用中指定日期,因此它假定了传递给该函数时的当前日期。
因此,您上面的代码今天运行,输出为
$m_time1 = 1376024400
$m_time2 = 1376040600
将这些总和相加会导致2057
年的“时间”为3:30 AM
。
为了避免这种情况的发生,您需要先从时间戳中减去“今天”的时间戳,然后再添加它们,然后在添加之后再次将其添加回去。
$today = strtotime("TODAY");
$m_time1 = strtotime('1:00:00') - $today;
$m_time2 = strtotime('5:30:00') - $today;
$m_total = $m_time1 + $m_time2 + $today;
echo date('h:i:s', $m_total);
上面的代码回显6:30:00
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.