You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java时区问题:LocalDate获取萨摩亚日期显示异常

问题原因及修复方案
  • 问题出在你用的时区ID Pacific/Samoa 是萨摩亚2011年时区变更前的旧标识,对应的是UTC-11时区,而非当前萨摩亚实际使用的UTC+13时区。
  • 萨摩亚在2011年12月29日调整时区,从UTC-11跳转为UTC+13(无夏令时),目的是和澳新地区时区对齐,之后官方标准时区ID改为 Pacific/Apia。
  • 对应你给出的时间计算:伦敦时间2023-07-26 16:47(UTC+1),换算成UTC是15:47。用旧时区Pacific/Samoa(UTC-11)计算,15:47减去11小时是当天4:47,日期自然是26日;而实际萨摩亚时区(UTC+13)是15:47加13小时,得到次日4:47,日期为27日。
  • 修复后的代码:
    LocalDate localDate = LocalDate.now(ZoneId.of("Pacific/Apia"));
    

内容的提问来源于stack exchange,提问作者Joao Pedro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 11:14:52