web-dev-qa-db-ja.com

MySQLは日付文字列をUnixタイムスタンプに変換する

どうやって次のフォーマットをunixタイムスタンプに変換するのですか?

Apr 15 2012 12:00AM

私がDBから取得したフォーマットは最後にAMを持っているようです。私は以下を使ってみましたが、うまくいきませんでした:

CONVERT(DATETIME, Sales.SalesDate, 103) AS DTSALESDATE,  
CONVERT(TIMESTAMP, Sales.SalesDate, 103) AS TSSALESDATE

where Sales.SalesDate value is Apr 15 2012 12:00AM
125
redcoder

CONVERT DATETIME to UNIX TIME STAMPに対してこのクエリを試してください。

SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))

CHANGE DATE FORMATEに対するこのクエリ

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p')
207
Query Master

日付をMySQLの標準日付形式に変換するには STR_TO_DATE と、それからタイムスタンプを取得するには UNIX_TIMESTAMP の両方を使用する必要があります。

日付の形式を考えると、次のようになります。

UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))

有効なタイムスタンプを渡します。フォーマット文字列の詳細については、 STR_TO_DATE のドキュメントを参照してください。

34
strnk

現在の日付については、MySQLクエリでUNIX_TIMESTAMP()を使用してください。

11
stackMonk