首页 > 解决方案 > IntlDateFormatter 返回错误的年份

问题描述

如果您运行以下代码

<?php

$date = new DateTime('2019-12-30 19:45:00', new DateTimeZone('Europe/London'));
$formatter = new IntlDateFormatter(
    'en_GB',
    null,
    null,
    'Europe/London',
    IntlDateFormatter::GREGORIAN,
    'MMMM YYYY'
);

echo $formatter->format($date);

它会回声December 2020。这是课程的错误,还是我有什么问题,因为我希望它会返回December 2019

标签: phpdateintldateformatter

解决方案


根据: http ://userguide.icu-project.org/formatparse/datetime

Y 代表“一年中的一周”(无论它是什么意思),y 是我们习惯的常规年份参考。因此,要获得当年的替换YYYYyyyy它应该可以完成这项工作


推荐阅读