我有点困惑为什么以下失败。我有一个格式为的日期时间字符串YmdHisv假设字符串 =20201212000000000为什么以下会失败(忽略奇数输入)?$year = date("Y");$input = ($year."1212"."00000000"."0");$format = "YmdHisv";$stamp = DateTime::createFromFormat($format,$input);由此返回的错误是: 'error_count' => int 2 'errors' => array (size=2) 14 => string 'The format separator does not match' (length=35) 15 => string 'Trailing data' (length=13)如果我删除毫秒就没有问题了。编辑:执行以下操作将返回 3 位数的毫秒时间。所以不确定为什么我的毫秒无效。$now = new DateTime();echo $now->format("v");编辑:看起来以下也会失败。有(微秒)奇怪行为的文档,但是(毫秒)u呢?v$format = "YmdHisv";$now = new DateTime();$now = $now->format($format);$stamp = DateTime::createFromFormat($format,$now);编辑:我可能有我的答案,但正在寻找更多解释[来自文档]与格式化修饰符不同,createFromFormat 不接受“.v”修饰符。
1 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
我的 PHP 版本需要更新。
7.3+ 之前:createFromFormat 不接受“.v”修饰符,与格式化修饰符不同。
7.3.0 添加了 v 格式说明符。
- 1 回答
- 0 关注
- 64 浏览
添加回答
举报
0/150
提交
取消