为了账号安全,请及时绑定邮箱和手机立即绑定

DateTime::createFromFormat 返回 False - 毫秒

DateTime::createFromFormat 返回 False - 毫秒

PHP
婷婷同学_ 2023-09-22 16:57:45
我有点困惑为什么以下失败。我有一个格式为的日期时间字符串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条经验 获得超2个赞

我的 PHP 版本需要更新。

7.3+ 之前:createFromFormat 不接受“.v”修饰符,与格式化修饰符不同。

7.3.0 添加了 v 格式说明符。


查看完整回答
反对 回复 2023-09-22
  • 1 回答
  • 0 关注
  • 42 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信