gpt4 book ai didi

java - 如何获得 Java 8 年表的纪元限制?

转载 作者:搜寻专家 更新时间:2023-11-01 02:39:15 25 4
gpt4 key购买 nike

我在一个同时使用 Hijrah 和 Gregorian 年表的应用程序中使用 Java 8 日期和时间 API。 Hijrah 日历具有有限的范围支持,如果我尝试创建超出此范围的日期(例如使用 Chronology 类的 zonedDateTime 方法),则会抛出“日期超出范围”异常。我搜索了文档,但找不到任何可用于获取 Chronology 支持的日期范围的官方方法。我设法通过测试何时抛出异常来找出 Hijrah 年表过去的最大日期,但这并不理想,因为我可能使用不同的 Java 版本,而且似乎支持的日期范围可能会在不同的 Java 更新中发生变化。是否有任何官方方法来获取 Java 8 年表(例如 Hijrah 年表)的纪元限制?我感谢任何帮助。谢谢。

最佳答案

您可以使用 Chronology.range() 方法。例如:

import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;

public class Test {
public static void main(String[] args) {
Chronology hijrah = HijrahChronology.INSTANCE;
ValueRange range = hijrah.range(ChronoField.YEAR);
System.out.println(range.getMinimum());
System.out.println(range.getMaximum());
}
}

这表明有效年份是1300-1600。

我不清楚这是否意味着 1300 年的 和 1600 年的 是有效的,但我怀疑是这样 - 你可能可以为此编写一些实验测试。

关于java - 如何获得 Java 8 年表的纪元限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38301964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com