簡體   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