我给FrozenDate::parseDate()
指定什么格式似乎并不重要,我总是得到同样的错误日期。
编码:
$d1 = '8/28/2021';
$d2 = '10/27/2021';
debug($d1);
debug($d2);
debug(FrozenDate::parseDate($d1, 'm/d/Y'));
debug(FrozenDate::parseDate($d2, 'm/d/Y'));
exit;
输出量:
\src\Controller\AdministratorsController.php (line 559)
'8/28/2021'
\src\Controller\AdministratorsController.php (line 560)
'10/27/2021'
\src\Controller\AdministratorsController.php (line 561)
object(Cake\I18n\FrozenDate) {
'time' => '2020-12-20 00:00:00.000000+00:00',
'timezone' => 'UTC',
'fixedNowTime' => false
}
\src\Controller\AdministratorsController.php (line 562)
object(Cake\I18n\FrozenDate) {
'time' => '2020-12-20 00:00:00.000000+00:00',
'timezone' => 'UTC',
'fixedNowTime' => false
}
1条答案
按热度按时间f3temu5u1#
检查API文档,第二个参数接受:
array|string|int|null $format Any format accepted by IntlDateFormatter.
docblock也有一些例子:
因此,这不是PHP的
date()
函数中已知的语法,它与**i18nFormat()
**(ICU日期/时间格式语法)接受的语法相同,其中您要查找的模式将是:值得注意的是,解析是相当宽松的,而且还依赖于区域设置。例如,虽然
M
只会格式化为不带前导零的月份,但在解析时,它会接受带前导零和不带前导零的数字形式的月份,以及短月份名和长月份名(在当前语言中),这意味着所有这些都将实际工作(当en
被设置为语言时):