我有一个用例,我希望用户能够在 UI 中指定他们自己的日历。为此,我想创建一个自定义年表,其中指定有关日历的所有信息。 我使用年表而不是自定义类的原因是我希望能够使其与标准年表兼容。
我已经考虑过实现 Chronology
或扩展 AbstractChronoolgy
,但是我在这些类(class)中找不到自己,也无法找到有关此用例的资源.
这些是我需要能够针对每个年表进行自定义的内容:
- 一天的小时数
- 一周中的天数和名称(即公历中的周一至周日,各 24 小时)
- 一个月中的天数和月份名称(即公历中的 1 月 - 12 月,有 28-31 天)
- 一年中有多少个月
- 下一个更大尺度的年数(公历中的 100 个世纪,省略数十年)
- 存在哪些时代,以及开始时间(公元前和公元,公历的第 0 年)
这对于java的时间顺序来说可行吗?如果是,我将如何处理这个问题?任何建议或链接将不胜感激。 我不需要完全实现可定制性,只需提示我可以在哪里为自定义日历/年表设置这些内容就足够了。
提前致谢 福林
最佳答案
不完全是。 Chronology
旨在表示 ISO/公历以外的现有日历系统。它将日期分配给周、月、年、纪元系统。它不涵盖一天内的时间。因此,它无法为您提供一天中其他小时数的可能性。 (不过,您可以实现 TemporalUnit 接口(interface)来将“您的时间”表示为一天的一小部分。)
要实现Chronology
,首先要扩展AbstractChronology
。在此过程中您可能需要实现ChronoLocalDate
、ChronoLocalDateTime
、Era
等接口(interface)。最后,您必须使用 ServiceLoader
注册您的实现;请参阅the API documentation of Chronology .
关于java - 为任意 DatePicker 创建自定义年表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785020/