为任意 DatePicker 创建自定义年表
Creating a custom Chronology for arbitrary DatePicker
我有一个用例,我希望能够让用户在 UI 中指定他们自己的日历。为此,我想创建一个自定义年表,它指定有关日历的所有信息。
我使用年表而不是自定义 class 的原因是我希望能够使其与标准年表兼容。
我已经查看了实施 Chronology
或扩展 AbstractChronoolgy
,但是我在那些 class 中找不到自己,而且我无法找到与此相关的资源用例。
这些是我需要能够为每个年表自定义的内容:
- 一天的小时数
- 一周中天数和名称(即公历中的周一至周日,每个 24 小时)
- 一个月中的天数和月份的名称(即 1 月至 12 月,公历中有 28-31 天)
- 一年中的月数
- 下一个更大尺度的年数(公历中的世纪为 100,不包括几十年)
- 存在哪些时代,以及它们何时开始(b.c 和 a.d。在公历 0 年)
java 的年表是否可行?如果是,我将如何处理这个问题?任何建议或链接将不胜感激。
我不需要完全实现可定制性,只需提示我可以在何处为自定义设置这些东西 calendar/chronology 就足够了。
提前致谢
下
不完全是。 Chronology
旨在表示 ISO/Gregorian 以外的现有日历系统。它将 date 分配给周、月、年、纪元系统。一天之内不覆盖时间。因此,它不会为您提供一天中提供替代小时数的可能性。 (不过,您可以实现 TemporalUnit
接口,将 "your hour" 表示为一天的一小部分。)
要实现 Chronology
,请先扩展 AbstractChronology
。过程中可能需要实现接口ChronoLocalDate
、ChronoLocalDateTime
、Era
等。最后,您必须使用 ServiceLoader
注册您的实现;参见 the API documentation of Chronology。
我有一个用例,我希望能够让用户在 UI 中指定他们自己的日历。为此,我想创建一个自定义年表,它指定有关日历的所有信息。 我使用年表而不是自定义 class 的原因是我希望能够使其与标准年表兼容。
我已经查看了实施 Chronology
或扩展 AbstractChronoolgy
,但是我在那些 class 中找不到自己,而且我无法找到与此相关的资源用例。
这些是我需要能够为每个年表自定义的内容:
- 一天的小时数
- 一周中天数和名称(即公历中的周一至周日,每个 24 小时)
- 一个月中的天数和月份的名称(即 1 月至 12 月,公历中有 28-31 天)
- 一年中的月数
- 下一个更大尺度的年数(公历中的世纪为 100,不包括几十年)
- 存在哪些时代,以及它们何时开始(b.c 和 a.d。在公历 0 年)
java 的年表是否可行?如果是,我将如何处理这个问题?任何建议或链接将不胜感激。 我不需要完全实现可定制性,只需提示我可以在何处为自定义设置这些东西 calendar/chronology 就足够了。
提前致谢 下
不完全是。 Chronology
旨在表示 ISO/Gregorian 以外的现有日历系统。它将 date 分配给周、月、年、纪元系统。一天之内不覆盖时间。因此,它不会为您提供一天中提供替代小时数的可能性。 (不过,您可以实现 TemporalUnit
接口,将 "your hour" 表示为一天的一小部分。)
要实现 Chronology
,请先扩展 AbstractChronology
。过程中可能需要实现接口ChronoLocalDate
、ChronoLocalDateTime
、Era
等。最后,您必须使用 ServiceLoader
注册您的实现;参见 the API documentation of Chronology。