gpt4 book ai didi

php - PHP < 5.3.0 中的 DateTime::createFromFormat

转载 作者:可可西里 更新时间:2023-10-31 23:57:53 25 4
gpt4 key购买 nike

我正在寻找与 DateTime::createFromFormat 相同的函数但我需要它在运行早于 v5.3 的 PHP 版本的环境中工作。基本上我需要提供一种格式,就像您使用 Date() 一样函数,然后我需要根据该格式解析/验证字符串,如果字符串格式正确且日期有效,则返回时间戳。

谁知道我在哪里可以找到类似的东西,还是我必须自己写?

同样,这必须使用作为参数提供的特定格式。格式可以是任何格式,所以不能保证我可以使用 strtotime() .

最佳答案

DateTime::createFromFormatdate_parse_from_format已添加到 PHP 5.3 中,因为对该功能的需求很高,特别是来自为不使用美国日期/时间格式的用户编写代码的开发人员。


在此之前,您必须开发一个特定的函数来解析您正在使用的格式;对于 PHP < 5.3,通常做的是:

  • 决定应用程序接受哪种格式
  • 显示一些消息,比如“您的输入应该是 JJ/MM/AAAA” (DD/MM/YYYY 的法语)
  • 检查输入是否符合该格式
  • 解析它以将其转换为 PHP 可以理解的日期/时间。

这意味着应用程序和开发人员通常不允许那么多格式,因为每种格式都意味着一种不同的附加验证+解析功能。


如果您真的需要那种允许任何可能格式的功能,恐怕您将不得不自己编写它:-(

如果您了解 C 代码,也许看看 date_parse_from_format 的源代码会有帮助吗?它应该是类似 ext/date/php_date.c 的形式——但似乎并没有那么简单:它正在调用 timelib_parse_from_format 函数,该函数在 ext/data/lib/parse_date.c,看起来不太友好^^

关于php - PHP < 5.3.0 中的 DateTime::createFromFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2312354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com