Angular Material Datepicker:支持BCE日期和日历

时间:2017-11-17 14:01:53

标签: angular datepicker calendar angular-material

我熟悉Angular Material的Datepicker(https://material.angular.io/components/datepicker/overview)。

对于我的用例,我需要以下功能:

  • 在基督(BC)之前/在共同时代之前(BCE)支持日期
  • 支持Gregorian以外的其他日历格式(例如Julian日历),包括更改日历时自动转换所选日期
  • 支持精度:日,月,年

在我们的旧GUI中,我们提供了自己的日期选择器实现,根据Julian Day Numbers(https://github.com/dhlab-basel/Knora/blob/develop/salsah/src/public/js/datehelpers.jshttps://github.com/dhlab-basel/Knora/blob/develop/salsah/src/public/js/jquery.dateobj.js)应用计算。但是,代码基于jQuery,并将被新的基于Angular的GUI取代。我也承认很难理解。

我很高兴有关如何使用Angular Material支持历史日期的任何建议!

2 个答案:

答案 0 :(得分:1)

嗯,显然Angular Material不支持这一点,并且可能永远不会支持它。您可以查看https://www.npmjs.com/以查看是否有其他第三方日历符合您的需求(我在快速搜索时没有找到任何内容),所以不幸的是您可能需要自己编写所有代码

答案 1 :(得分:0)

实际上,这里讨论的主题是:https://github.com/angular/material2/issues/2519

Angular Material2 Datepicker UI与抽象类DateAdapter分开,可以为不同的日历库(JS本机Date对象和Moment JS库)实现。

我已经启动了一个支持日历转换(https://github.com/dhlab-basel/JDNConvertibleCalendar)的自己的回购,并提供了DateAdapterhttps://github.com/dhlab-basel/JDNConvertibleCalendarDateAdapter)的实现。很快就可以使用Angular Material2 Datepicker在Gregorian和Julian日历日期之间切换。