不要忘记 fromDateTime() 不会设置任何语言环境,并且会设置默认语言环境。在我的情况下,它是 en_US_POSIX。
如果你想创建一个包含 DateTime 对象值的 IntlCalendar 对象,并使用你的语言环境,请使用 createInstance() 而不是,并执行以下操作
<?php
$intlCalendar->setTime($dateTime->getTimestamp() * 1000);
?>
IntlCalendar 使用毫秒,因此你需要将时间戳乘以 1000。
使用 fromDateTime() 可能会导致意外行为,例如 getFirstDayOfWeek() 返回错误的整数。