我有一個名爲end_date
的字段的MySQL表,其中存儲了UTC日期,類型爲DATETIME
。我想知道NOW()
與end_date
之間的差值。我alredy在這裏找到了很多的問題和答案在這裏做到這一點,一些使用UNIX_TIMESTAMP
,據我所知,採取輸入值,並將其轉換爲UTC(所以我不能使用它,因爲我的日期是阿雷迪UTC)和其他建議使用TIME_TO_SEC
併除以60
。這是我撿到:與MySQL獲取日期的差異
INTERVAL (TIME_TO_SEC(UTC_TIMESTAMP()) - TIME_TO_SEC(end_date))/60 MINUTE
它正常工作,直到當天從end_date
的天差地別。此時,減法的結果爲負數,當我在DATE_ADD
函數中使用此代碼時,它會輸出錯誤的結果。我怎樣才能解決這個問題?
我在MySQL文檔中找不到TO_SECONDS。順便說一下,我現在不能使用,因爲正如我在我的問題中所說的,存儲日期是UTC,而NOW會返回服務器時區中的當前日期 – Stefano
請點擊此處查看http://dev.mysql.com/doc/refman /5.5/en/date-and-time-functions.html#function_to-seconds,我編輯我的答案設置回UTC_TIMESTAMP() – miltos