2013-02-07 85 views
0

我有一個名爲pm_msg與時間列的表和以下值:轉換UK日期UTC

07-02-2013 18:11:00 
27-01-2013 16:02:44 
28-01-2013 10:30:26 
30-01-2013 13:30:06 

我想將它們轉換爲Unix時間戳,而運行PDO SQL查詢。 這是我到目前爲止所做的,但它似乎返回一個錯誤。我應該怎麼做呢?

$sql = "SELECT * from pm_msg ORDER BY (strtotime(time)) ASC;"; 

回答

1

strtotime在MySQL中不存在,你想要的UNIX_TIMESTAMP功能:

$sql = "SELECT * from pm_msg ORDER BY (UNIX_TIMESTAMP(time)) ASC;"; 

但是 - 你並不需要將其轉換爲一個UNIX時間戳只是排序。排序在日期上正確工作?也許你打算將UNIX_TIMESTAMP添加到SELECT部分?

+0

這項工作PDO?即http://pastebin.com/tTTNB1vY – methuselah

+0

@methuselah PDO只是一個MySQL連接的客戶端庫。它不會改變查詢,也不會刪除功能。如果MySQL支持該功能,PDO將「支持」該功能。 –

+0

我想你可能忽略了他正在使用英國日期/時間戳 – methuselah

0

UTC或多或少與GMT相同 - 不考慮DST。

所以在春季和秋季,你需要考慮到這一點。

但使用SQL看STR_TO_DATEUNIXTIMESTAMP

0

它會更容易設置你的時間列日期時間,如果你使用的是像VARCHAR的東西,現在的日期/時間轉換成unixtime。