[英]PHP DateTime->format incorrect month
這段代碼:
$expDateObj = DateTime::createFromFormat('m/y', '04/19');
echo $expDateObj->format('Y-m');
echo "<br/>";
$expDateObj = DateTime::createFromFormat('m/y', '05/19');
echo $expDateObj->format('Y-m');
產生以下結果:
2019-05
2019-05
這是為什么?
編輯我在http://phptester.net/上獲得了PHP 7.0的支持
如果缺少日期中的日期部分,PHP將默認缺少日期為當前日期。 今天是7月31日,因此它將以31
作為一天,因此您將在31st April 2019
輸入04-19
條目...該條目不存在,因此將其延續到1st May 2017
。 因此,您的最終結果是2019-05
。
您可以通過稍微更改掩碼來強制PHP將缺少的日期默認為月份的第一天( 01
),而不是當前日期:
$expDateObj = DateTime::createFromFormat('m/y|', '04/19');
echo $expDateObj->format('Y-m');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.