簡體   English   中英

PHP DateTime->格式不正確的月份

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM