在Java、Javascript、Python中有没有好的框架可以将日历计算从格里高利历转换为希伯来日历?

2024-05-14 08:58:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在Java、Javascript、Python中,有没有什么好的框架可以将日历从Gregorian转换为希伯来日历?非常感谢你的帮助。在


Tags: 框架javajavascriptgregorian
2条回答

刚才,我在我的库Time4J中发布了另一个希伯来日历的实现。从公历日期到Hebrew date(作为对象或格式化字符串)的转换示例:

PlainDate gregorian = PlainDate.nowInSystemTime();
HebrewCalendar hebrew = gregorian.transform(HebrewCalendar.axis());
System.out.println(hebrew.toString()); // AM-5778-KISLEV-09

ChronoFormatter<CalendarDate> hfFull =
    ChronoFormatter.ofGenericCalendarStyle(
        DisplayMode.FULL,
        Locale.forLanguageTag("en-US-u-ca-hebrew")
    );
System.out.println(hfFull.format(gregorian)); // Monday, 9 Kislev 5778

国际化基于与ICU4J相同的i18n数据(实际上是CLDR-v32)。当然,希伯来语也是可能的。在

^{pr2}$

最后两个格式化示例展示了如何支持两种不同的希伯来月份编号方式,如果需要月份的数字输出。在

注意:实际时间的转换也取决于时钟时间,因为希伯来语的一天从日落开始。在上面的例子中,改变一天的时间仅仅是前一天的下午6点(simplified view)。如果您想考虑真实的日落,那么只要指定地理位置,您可以按以下方式进行:

SolarTime jerusalem = SolarTime.ofJerusalem();
HebrewCalendar currentHebrewDate =
    SystemClock.currentMoment().toGeneralTimestamp(
        HebrewCalendar.axis(),
        Timezone.ofSystem().getID(),
        StartOfDay.definedBy(jerusalem.sunset())
    ).toDate();

相关问题 更多 >

    热门问题