簡體   English   中英

日期和當前時間之間的時差?

[英]Time difference between a Date and current Time?

假設我有一個有趣的視頻網站,向用戶顯示有趣的視頻。 在每個視頻下方,我想根據視頻的時間戳記和當前時間聲明“ 5秒前”,“ 31分鍾前”,“昨天”,“ 2天前”。

我擁有的時間戳格式為: 2011-10-17 07:08:00

我對日期不太滿意,但是我猜想我需要找出兩個日期/時間(以秒為單位)之間的差異,然后決定是在0秒和60秒之間(以秒為單位)還是在60秒和3600秒之間進行顯示。以分鍾為單位,或者以小時為單位顯示3600sec和3600x24sec之間,以昨天顯示,以3600x24sec和3600x24x2sec之間顯示,依此類推...我相信我應該使用strtotime()但是我似乎找不到那些我找到的解決方案的當前時間使用new date()似乎不起作用!

我怎樣才能做到這一點?

順便說一句,另一個問題,當我將2011-10-17, 7:08PM EDT插入MySQL時間戳列時,它將轉換為2011-10-17 07:08:00上午2011-10-17 07:08:00 ,這是上午。 如何將其存儲在正確的AM / PM中?

您可以使用php的DateTime函數。

$datetime1 = new DateTime('2011-10-17 07:08:00');
$datetime2 = new DateTime();
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');

從這里開始,您可以使用一些if語句根據實際時差以另一種格式(秒,分鍾,小時,月等)輸出時差! 輸出格式可在此處找到

您可以非常輕松地使用MySQL的DATEDIFFTIMEDIFF函數。 兩者共同告訴您確切的時間已經過去了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM