我希望我的客戶能夠在我的網站上提出問題,並在4天之後刪除該問題。如何提取從特定日期過去的秒數?
每次訪問該問題時,都會顯示問題提出後的時間。
我假設最簡單的方法是提取問題提出後的秒數,並根據查看時間的長短以秒,分鐘,小時或天顯示它題。
我正在使用PHP和MySQL。請幫幫我!
我希望我的客戶能夠在我的網站上提出問題,並在4天之後刪除該問題。如何提取從特定日期過去的秒數?
每次訪問該問題時,都會顯示問題提出後的時間。
我假設最簡單的方法是提取問題提出後的秒數,並根據查看時間的長短以秒,分鐘,小時或天顯示它題。
我正在使用PHP和MySQL。請幫幫我!
見我的答案在這裏: Calculate number of hours between 2 dates in PHP
日期1會的日期,當問題被張貼和date2將是當前日期。這個版本的比較尊重閏秒和閏年和時區,所以它比僅比較兩個unix時間戳更加詳細。
如果您將問題的時間存儲爲unix時間戳,您甚至可以簡單地通過使用SQL來完成。
SELECT subject, body, ..., SEC_TO_TIME(UNIX_TIMESTAMP() - question_asked_tstamp) as time_ago FROM `questions`;
如果將它存儲爲DATE_TIME,則可以使用MySQL函數TIMEDIFF。有關更多詳細信息,請參見http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timediff。
顯示您現在正在使用的一些代碼,以便人們可以將您的建議建立在正在使用的日期庫上 – 2011-04-21 14:23:18
您可以使用PHP的日期函數:http://php.net/manual/en/function .date.php – 2011-04-21 14:28:44
請注意,time()返回的是一個int,它是當前時間,以Unix Epoch(1970年1月1日00:00:00 GMT)以來的秒數爲單位,這樣簡單的減法就可以工作。另外mysql'select datetimefield + 0'會返回一個整數 – horatio 2011-04-21 17:19:32