为任意DatePicker创建自定义年表

问题描述 投票:0回答:1

我有一个用例,我希望能够让用户在UI中指定自己的日历。为了实现这一点,我想创建一个自定义年代表,它指定有关日历的所有信息。我使用年代而不是自定义类的原因是我希望能够使它与标准年表兼容。

我已经看过实现Chronology或扩展AbstractChronoolgy,但我无法在这些类中找到自己,我无法找到有关此用例的资源。

这些是我需要为每个年表定制的东西:

  • 一天中的小时数
  • 一周中的天数和数量(即星期一 - 格里高利历中的星期日,每天24小时)
  • 一个月内的天数和月份的名称(即1月 - 12月,格里高利历中28-31天)
  • 一年中的月数
  • 下一个更大规模的年数(格里高利历中100个世纪,几十年不见了)
  • 哪些时代存在,什么时候开始(公历0年的b.c和a.d.)

用java的年表可行吗?如果是的话,我将如何处理这个问题?任何建议或链接将不胜感激。我不需要完全实现可定制性,只是提示我可以为自定义日历/年表设置这些东西就足够了。

在此先感谢Folling

java time java-time
1个回答
1
投票

不是完全。 Chronology用于表示ISO / Gregorian以外的现有日历系统。它为一周,一个月,一年,一个时代的系统分配日期。它不包括一天内的时间。因此,它不能为您提供一天中替代的小时数。 (你可以实现TemporalUnit界面,将“你的小时”表示为一天中的一小部分。)

要实现Chronology,首先要扩展AbstractChronology。您可能需要在此过程中实现接口ChronoLocalDateChronoLocalDateTimeEra等。最后,您必须使用ServiceLoader注册您的实施;见the API documentation of Chronology

© www.soinside.com 2019 - 2024. All rights reserved.