按欧洲日期排序

时间:2014-04-08 20:28:48

标签: php mysql sql sql-order-by

我忙于为用户创建消息系统。但是我对欧洲日期格式有些麻烦。

在我的MySQL数据库中我的日期存储如下:

date('d-m-Y H:i:s');

例如07-04-2014 22:03:41和08-04-2014 19:32:23

但是,当我尝试使用ORDER BY received DESC对其进行排序时(与date('Y-m-d H:i:s');配合使用时,它不会以正确的顺序显示消息。

例如,它显示22-03-2014为第一个,08-04-2014为最新版。

有人可以帮助我吗?

我已经尝试date_default_timezone_set('Europe/London');,但这不起作用。

编辑: 这是我的查询btw;

$stmt = $con->prepare("SELECT * FROM messages WHERE ID_receiver='$KlantID' AND ticket_nummer='$Ticket_Nmr' ORDER BY `received` DESC");

1 个答案:

答案 0 :(得分:1)

您可以尝试即时转换日期

 ...ORDER BY str_to_date(received, '%d-%m-%Y %H:%i:%s')

但这听起来对我来说是一个相当糟糕的主意。为什么不以原生格式DATETIME存储日期?