php - 按欧洲日期订购

标签 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 receive DESC 来订购它们时(与 date('Y-m-d H:i:s'); 配合使用效果很好,但事实并非如此) t 以正确的顺序显示消息。

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

有人可以帮我吗?

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

编辑: 顺便说一句,这是我的查询;

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

最佳答案

您可以尝试即时转换日期

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

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

关于php - 按欧洲日期订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22947506/

相关文章:

php - 为什么 echo 只打印 PHP 数组中的一个值?

mysql - 无法确定此连接会给出错误的结果

mysql 三个最后一个

php - 递归下拉菜单未在 Bootstrap Codeigniter 上正确显示

php - 如何在php中的数组请求中使用变量

php - 可靠的昵称正则表达式

mysql - 一组值的 SQL 唯一值

mysql - 从字段 mysql 中提取电子邮件 ID

java - Hibernate @Where 子句

php - 如何进行高级sql表比较