PHP中的DateTime :: createFromFormat <5.3.0

Ric*_*uen 3 php format datetime date-format

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

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

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

Pas*_*TIN 6

DateTime::createFromFormat并且date_parse_from_format已经在PHP 5.3中添加,因为对该功能的需求很高,尤其是那些为不使用美国日期/时间格式的用户编写代码的开发人员.


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

  • 确定应用程序将接受哪种格式
  • 显示一些消息,上面写着"您的输入应该是JJ/MM/AAAA" (法语为DD/MM/YYYY)
  • 关于该格式,检查输入是否正常
  • 并解析它以将其转换为PHP可以理解的日期/时间.

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


如果你真的需要那种功能,允许任何可能的格式,我担心你必须自己写它:-(

date_parse_from_format如果您了解C代码,也许看一下可能有帮助的来源?它应该是类似的ext/date/php_date.c- 但似乎并不那么简单:它调用timelib_parse_from_format函数,它定义在ext/data/lib/parse_date.c,并且看起来不那么友好^^