strtotime 不适用于 mm-dd-yyyy

发布于 2024-12-22 04:54:11 字数 238 浏览 1 评论 0原文

我有一个脚本,其中包含多种不同格式的日期。

我想将这些日期保存为时间戳,以便可以轻松地操作/排序它们。

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

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

任何人都可以建议如何解决此问题,或者提供一种替代方法,将所有日期格式转换为可操作的可排序、一致的格式?

非常感谢

I have a script which is fed dates in numerous different formats.

I want to save these dates as timestamps so they can easily be manipulated/ordered.

When i try an convert a mm-dd-yyyy type date to a timestamp, it fails.

When the script runs, it does not know what format it will be fed, and as such this cannot be specified. Near all other formats of date seem to be converted fine.

Could anyone advise how to fix this, or alternatively an alternative way that all date formats can be converted to an orderable, consistent format that can be manipulated?

Many Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

好多鱼好多余 2024-12-29 04:54:11

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

另请参阅此问题 以及 的评论文档

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

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

但请注意,有时您确实需要知道开始的格式是什么。计算机不是读心术者。如果您不提供区别,他们无法也永远无法区分重叠范围内的 mm-dd-yyyy 和 dd-mm-yyyy(mm 和 dd <= 12)。

It sees strings with - in them as dd-mm-yyyy and / as mm/dd/yyyy.

See also this question and the comments on the documentation.

Possible solutions / workarounds:

  • on php 5.3, use date_create_from_format
  • on older php and not on windows, use strptime
  • if neither can be used, either replace the - to / when necessary, or use one of the regexes suggested you can find through the linked question.

Note however that at some time you do need to know what the format is to start with. Computers are not mindreaders. They can't, and never will be able to, distinguish between mm-dd-yyyy and dd-mm-yyyy in the overlap ranges (both mm and dd <= 12) if you don't provide the distinction.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文