MySQLで文字列をUNIXタイムスタンプに変換する方法はありますか?
たとえば、文字列2011-12-21 02:20pm
これは、Unixタイムスタンプ形式である必要があります。
UNIX_TIMESTAMP()
はトリックを行います:
_SELECT UNIX_TIMESTAMP('2011-12-21 14:20:00');
_
ただし、UNIX_TIMESTAMP()
関数は標準のMySQL形式の日付のみを取ります。 AM/PM表記を使用する場合、最初に _STR_TO_DATE
_ を使用する必要があります。
_SELECT UNIX_TIMESTAMP(
STR_TO_DATE('2011-12-21 02:20pm', '%Y-%m-%d %h:%i%p')
);
_
@ a'rはすでに正しい答えを与えていますが、ここで追加したいことは、2つのパラメータSTR_TO_DATE()関数、 'date string' format and 'date format' string、should 「-」と「:」の一致する配置があります。
たとえば、次の4つのクエリはまったく同じ結果を返します2014-05-28 11:30:10
SELECT STR_TO_DATE('2014-05-28 11:30:10','%Y-%m-%d %H:%i:%s');
SELECT STR_TO_DATE('20140528 11:30:10','%Y%m%d %H:%i:%s');
SELECT STR_TO_DATE('2014-05-28 113010','%Y-%m-%d %H%i%s') ;
SELECT STR_TO_DATE('20140528 113010','%Y%m%d %H%i%s');
注: 2つのパラメータSTR_TO_DATE()各クエリの関数には、「-」と「:」の配置が一致しています