微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – strtotime返回当前年份,当输入格式为YYYY且值大于1999时

我不确定这是一个错误,因为搜索后我找不到任何重复的经历 – 但是,这个让我难过.

虽然在一个(相当痛苦的)脚本中打算采取一堆自由文本记录并将它们转换为有用的日期记录,但我信任的朋友strtotime()似乎让我失望了.

出于测试目的,我将代码简化为:

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

输出显示:1999年

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

输出显示:1981年

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

输出显示:2012年

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

输出显示:2012年

在输入超过“1999”之前,一切似乎都很好 – 从那一点开始,每一年之前和之后每年都会返回当前年份(2012年)

任何输入都非常感谢.

解决方法:

根据PHPdate/time format文档:

The “Year (and just the year)” format only works if a time string has already been found — otherwise this format is recognised as HH MM.

(页面上的最后一个注释).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐