时间不能用mm-dd-yyyy


strtotime not working with mm-dd-yyyy

我有一个脚本,它以多种不同的格式输入日期。

我想把这些日期保存为时间戳,这样它们就可以很容易地被操纵/排序。

当我尝试将mm-dd-yyyy类型的日期转换为时间戳时,它失败了。

当脚本运行时,它不知道将提供什么格式,因此不能指定。几乎所有其他格式的日期似乎都可以很好地转换。

谁能建议如何解决这个问题,或者另一种方法,所有的日期格式可以转换为一个可操作的有序的,一致的格式?

多谢

它将包含-的字符串视为dd-mm-yyyy,将/视为mm/dd/yyyy。

参见这个问题和文档上的注释。

可能的解决方案/变通方法:

    在php 5.3上使用date_create_from_format
  • 在旧版本的php上使用strptime
  • 如果两者都不能使用,则在必要时将-替换为/,或者使用您可以通过链接问题找到的建议的正则之一。

请注意,有时您确实需要知道开始使用的格式。电脑不会读心术。如果您不提供区分,它们就不能,也永远不能区分重叠范围内的mm-dd-yyyy和dd-mm-yyyy (mm和dd <= 12)。