我不确定这是一个错误,因为在搜索后我找不到任何重复的经历 - 然而,这个让我难倒。

虽然在一个(相当痛苦的)脚本中,该脚本旨在获取一堆自由文本记录并将它们转换为有用的日期记录,但我可信赖的 friend strtotime() 似乎让我失望了。

出于测试目的,我将代码归结为:

<?=date('Y', strtotime("1999"));?>

输出显示:1999
<?=date('Y', strtotime("1981"));?>

输出显示:1981
<?=date('Y', strtotime("2001"));?>

输出显示:2012
<?=date('Y', strtotime("2021"));?>

输出显示:2012

一切似乎都很好,直到输入超过“1999” - 从那时起,当前年份之前和之后的每一年都返回当前年份(2012)

任何输入都非常感谢。

最佳答案

根据 PHP 的 date/time format 文档:



(页面上的倒数第二个注释)。

关于php - 当输入格式为 YYYY 且值大于 1999 时,strtotime 返回当前年份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9421371/

10-12 14:26