将英国日期转换为UTC

时间:2013-02-07 18:38:28

标签: php mysql

我有一个名为pm_msg的表,其中包含一个时间列和以下值:

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

我想在运行PDO SQL查询时将它们转换为Unix时间戳。 这是我到目前为止所做的,但它似乎返回了一个错误。我应该怎么做呢?

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

3 个答案:

答案 0 :(得分:1)

MySQL中不存在

strtotime,您需要UNIX_TIMESTAMP函数:

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

但是 - 您不需要将其转换为UNIX时间戳只是为了对其进行排序。排序在日期上正常工作?也许您打算将UNIX_TIMESTAMP添加到SELECT部分?

答案 1 :(得分:0)

UTC与GMT大致相同 - 没有考虑到夏令时。

所以在春季和秋季你需要考虑到这一点。

但是要使用SQL将日期/时间转换为unixtime,请参阅STR_TO_DATEUNIXTIMESTAMP

答案 2 :(得分:0)

如果您现在正在使用 varchar 之类的内容,那么将时间列设置为 datetime 会更容易。