我有點困惑為什么以下失敗。我有一個格式為的日期時間字符串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 關注
- 91 瀏覽
添加回答
舉報
0/150
提交
取消