MySQLでは、30日前にどのようにタイムスタンプを取得できますか?MySQLはタイムスタンプとして日付をn日前に取得します
ような何か:
select now() - 30
結果がタイムスタンプを返す必要があります。
MySQLでは、30日前にどのようにタイムスタンプを取得できますか?MySQLはタイムスタンプとして日付をn日前に取得します
ような何か:
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
最初のクエリと2番目のクエリの違いは何ですか? – Codler
私は上記の質問にも答えたいです。ありがとうございました。 – transilvlad
(v1)DATE_SUBは入力に応じてDATETIMEまたはSTRINGを返します。 TIMESTAMP(v2)はそれをTIMESTAMP型に強制します。 http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add – jsh
あなたはDATE_SUBの後にいると思います。
あなたは使用することができます
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)))
は正、時間
タイムスタンプのどのような形式を返すのだろうか? MySQL DATEの機能を使い慣れている人々には、UNIXスタイルのタイムスタンプがあります。 – joebert
私はMySQLタイムスタンプの後です。 –