我需要在朱莉娅使用2038年以后的日期。怎么做?显然,你不能在2038年后的几年内使用时间日期。
TimeZones.jl的md
提供以下解释,指的是不存在的链接页面:
“或者,当使用2038年以后的未来日期时将导致错误:
julia> ZonedDateTime(2039, warsaw)
ERROR: TimeZone Europe/Warsaw does not handle dates on or after 2038-03-28T01:00:00 UTC
in call at ~/.julia/v0.4/TimeZones/src/timezones/types.jl:146
in ZonedDateTime at ~/.julia/v0.4/TimeZones/src/timezones/types.jl:260
时区有可能超过2038 [链接],但由于这些日期是将来的,因此时区规则可能会发生变化而且不准确。“
答案 0 :(得分:3)
这是正确的link。
它说:
由于VariableTimeZone的内部表示,它是 确定时区过渡到无穷大是不可行的。以来 2038-01-19T03:14:07是可以用a表示的最后一个DateTime Int32(Dates.unix2datetime(typemax(Int32)))决定2037年 将是计算所有过渡日期的最后一年。如果 已知在最后一次转换后存在其他转换 然后指定截止日期。
重要的是要注意,因为我们正在考虑未来的时间 区域转换和规定这些转换的规则是主题 改变,可能不准确。 如果您仍想与之合作 将来ZonedDateTime超过默认截止值即可重新编译 TimeZone对象并指定max_year关键字: *
*强调我的。
using TimeZones
TimeZones.Olson.compile(max_year=2200)
ZonedDateTime(DateTime(2100), TimeZone("Europe/Warsaw"))
>>> 2100-01-01T00:00:00+01:00