这是日期:2018-01-25T13:39:40-05:00
来自API。
到目前为止,我已经这样做了:SELECT UNIX_TIMESTAMP(STR_TO_DATE('2018-01-25T13:39:40-05:00', '%M %d %Y %h:%i%p')) AS time
但是它给了我NULL
。
我认为-05:00是时区。但是T是,我不知道。
也许还有另一种方法来取出T和-05:00并将24小时转换为12小时
答案 0 :(得分:2)
您不必使用STR_TO_DATE函数。
您可以直接使用UNIX_TIMESTAMP。
使用日期参数调用UNIX_TIMESTAMP(),它返回值 自1970年1月1日00:00:00 UTC以来的秒数。
日期参数可以是DATE,DATETIME或TIMESTAMP字符串,也可以是YYMMDD,YYMMDDHHMMSS,YYYYMMDD或YYYYMMDDHHMMSS格式的数字。
服务器将日期解释为当前时区中的值,并将其转换为UTC中的内部值。客户可以设置自己的时区
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp
SELECT UNIX_TIMESTAMP('2018-01-25T13:39:40-05:00') AS time