使用%o ISO-8601年格式解析日期

时间:2013-06-17 18:37:16

标签: php date iso8601

简短的故事:最初写这段代码的人是[并且可能仍然]裤子在头上迟钝。

相关代码从我们的提供商处接收付款事件,并使用以下格式将其记录到数据库中:'o-m-d H:i:s'

这一切都很好,但如果ISO-8601周“属于”另一年,%o修饰符会给你一个不同的年份。 [Reference]

一个很好的例子:我们已经记录了2013-12-31的付款,在正常/非疯狂的人日期,应该是2012-12-31。因此,对于所有意图和目的,我们会看到将来发生的付款,偶尔也会发生。

这里的真正的问题是我在PHP或mySQL中找不到任何解释%o标志的日期解析函数,从而阻止我将这些日期重新格式化为某些东西清醒。

有谁知道如何正确解释这些日期?

1 个答案:

答案 0 :(得分:0)

不,我不知道。但是,对o-m-d的所有文件执行grep(这是一个相当独特的术语),可以通过整个代码库解决98%的问题。

如果你正在使用VCS(并且因为你听起来像一个理智的人,你可能是),做一个提交,grep(或超级搜索和替换),看看它是否适合你,如果是,则提交,如果没有,则丢弃。它真的很简单。

如果这对你不起作用......嗯......愿上帝怜悯你的灵魂。