別忘了 fromDateTime() 並不會設定任何地區設定,而是會使用預設的地區設定。在我的情況下,預設地區設定是 en_US_POSIX。
如果您想要建立一個包含 DateTime 物件值且使用您指定地區設定的 IntlCalendar 物件,請改用 createInstance() 並執行以下程式碼:
<?php
$intlCalendar->setTime($dateTime->getTimestamp() * 1000);
?>
IntlCalendar 使用毫秒,因此您需要將時間戳記乘以 1000。
使用 fromDateTime() 可能會導致非預期的行為,例如 getFirstDayOfWeek() 傳回錯誤的整數。