2011-12-21 72 views
21

有沒有什麼辦法將字符串轉換爲UNIX中的UNIX時間戳?字符串到MySQL中的時間戳

例如我有字符串2011-12-21 02:20pm需要在unix時間戳格式。

+1

http://dev.mysql.com/doc/refman/5.5/zh-CN/date-and-time-functions.html#function_unix-timestamp – cristian 2011-12-21 08:56:35

回答

36

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') 
); 
17

雖然@ a'r已經給出了正確的答案,仍然是我在這裏想補充的是,這兩個參數STR_TO_DATE()函數,'日期字符串'格式和'日期格式'字符串應該具有匹配的' - '和':'的位置。

例如以下4個查詢返回完全相同的結果2014年5月28日11點三十分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個PARAMS到STR_TO_DATE()中的每個功能查詢具有與' - '和''匹配的位置: