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