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

Luxon DateTime.fromObject传入日期参数时忽略时区配置的问题

关于DateTime.fromObject时区偏移的问题

使用DateTime.fromObject方法时,仅传入时间参数(时、分、秒)能得到带正确时区偏移的结果;但同时传入年、月、日参数时,传入的zone参数会被忽略,默认使用UTC时区偏移。由于需要对比不同时区的时间,必须获取正确的时区偏移。

示例1:仅传入时间参数

DateTime.fromObject({
    hour: 10,
    minute: 26,
    second: 6
}, { zone: "Europe/London" })

输出:2023-10-03T10:26:06.000+01:00(符合预期,包含伦敦时区的+01:00偏移)

示例2:传入日期+时间参数

DateTime.fromObject({
    year: 2007,
    month: 12,
    day: 25,
    hour: 10,
    minute: 26,
    second: 6
}, { zone: "Europe/London" })

实际输出:2007-12-25T10:26:06.000+00:00(忽略传入的时区,默认使用UTC偏移)
预期输出:2007-12-25T10:26:06.000+01:00

额外测试:ISO字符串解析问题

尝试手动构造带时区的ISO字符串,使用DateTime.fromISO解析:

DateTime.fromISO("2007-12-25T10:26:06.000+01:00")

输出:2007-12-25T09:26:06.000+00:00(未保留原时区偏移,自动转换为UTC时间)


内容的提问来源于stack exchange,提问作者Stuart Cox

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:40:03