今天我遇到了一些令我困惑的事情,\DateTime::createFromFormat
函數的行爲。PHP DateTime :: createFromFormat behaviiur
在我的情況下,我有一個字符串,代表以下格式的日期m/Y (05/2017)
。當我想的字符串DateTime對象轉換我遇到了以下問題:
$date = \DateTime::createFromFormat('m/Y', '02/2017');
當我轉儲$date
變量,日期屬性裏面'2017-03-03 11:06:36.000000'
但是,如果我添加日期在月份之前$date = \DateTime::createFromFormat('d/m/Y', '01/02/2017');
我找回具有正確日期屬性的對象。 (不幸的是我不能改變日期的格式並添加一天,它必須是m/Y)。
我想出的修復方法是將月份的第一天連接到日期字符串,我有$date = '01/'.$dateString;
但我寧願不這樣做,因爲它是硬編碼的。
這裏有什麼問題? createFromFormat函數是否缺少如何創建對象的信息?我對此很困惑。感謝大家的幫助!
這只是創建對象,後續代碼var_dump $日期 - >格式()(格式是一樣的日期,所以年月日仍然適用等),你應該看到你期待什麼:) – ThisGuyHasTwoThumbs
它填充缺失數據與今天的數據(第31天),並進行調整以跳過無效日期。很有幫助,就像大多數日期函數在PHP中一樣。 –