【发布时间】:2022-01-16 22:22:56
【问题描述】:
我有一个 Symfony 控制器,它接收来自客户端的请求,并且必须将传入的日期(例如 12-12-2004)解析为 DateTime 对象并将其存储在D B。它工作得很好,除非我尝试输入一个包含三位数年份的日期,例如:
DateTime::__construct():在位置 7 (4) 解析时间字符串 (12-12-940) 失败:意外字符
代码本身很简单,我只是在来自客户端请求的值上调用new /DateTime。
【问题讨论】:
-
那么用4位数的年份标准,有什么问题?
-
如果你把
940变成0940就可以了 -
@RiggsFolly 问题是我无法发送 0940 因为这是从日期选择器值发送的,并且日期选择器将始终修剪前导零
-
请注意,对于 mysql,支持的日期范围是 '1000-01-01' 到 '9999-12-31'。 dev.mysql.com/doc/refman/5.7/en/datetime.html 如果您真的需要旧日期,那么您将需要一种不同的方法。