当前位置:  开发笔记 > 编程语言 > 正文

如何根据日期订购数组?

如何解决《如何根据日期订购数组?》经验,为你挑选了1个好方法。

我有以下数组

$dates = array(
    '2015-02-13',
    '2015-04-21',
    '2015-08-18',
    '2015-11-26',
    '2015-09-15',
    '2015-01-07',
    '2015-02-11',
    '2015-07-14',
    '2015-03-02',
);

我想从最久前到最近的日期对这个数组进行排序.

foreach ($dates as $date) {
    $date = new DateTime($date);
    // The logic I need
}

你能救我吗?

编辑

我想指出日期格式可能会有所不同.为了详细说明,我在我的数据库日期格式为YYYY-MM-DD,YYYY/MM/DD,DD-MM-YYYYDD/MM/YYYY.

但正如下面建议的那样,我可以重新格式化日期并构建一个新数组.所以这可能不是问题.



1> Alnitak..:

您拥有的日期是缩短的ISO8601格式,即YYYY-MM-DD.

这些具有很好的功能,即词法排序顺序与日期顺序相同.因此,只需使用默认排序函数对数组进行排序.它会工作的.

在代码中处理日期字符串时,将ISO8601作为规范的内部日期格式始终是个好主意.尽快将用户提供的内容转换为该内容,如果用户要求输出位于他们自己的语言环境中,则将其推迟到尽可能晚.当然,使用"适当的"日期对象更好!

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有