[英]MySQL get the date n days ago as a timestamp
在MySQL中,我如何從30天前獲得時間戳?
就像是:
select now() - 30
結果應該返回一個時間戳。
DATE_SUB將根據您的需要執行部分操作
mysql> SELECT DATE_SUB(NOW(), INTERVAL 30 day);
2009-06-07 21:55:09
mysql> SELECT TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day));
2009-06-07 21:55:09
mysql> SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day));
1244433347
你可以使用:
SELECT unix_timestamp(now()) - unix_timestamp(maketime(_,_,_));
對於unix時間戳或:
SELECT addtime(now(),maketime(_,_,_));
對於標准的MySQL日期格式。
如果你需要從時間戳開始的負數小時
mysql>SELECT now( ) , FROM_UNIXTIME( 1364814799 ) , HOUR( TIMEDIFF( now( ) , FROM_UNIXTIME( 1364814799 ) ) ) , TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) )
2013-06-19 22:44:15 2013-04-01 14:13:19 1904 -1904
這個
TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) )
如果需要使用x> this_timestamp,將返回負值和正值
但是這個
HOUR( TIMEDIFF( now() , FROM_UNIXTIME( 1364814799 ) ) )
將只返回正數,小時數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.