繁体   English   中英

如何在PHP中使用时间变量进行加法

[英]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

PHPFiddle示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM