java计算JSR310中修改的Julian Day
如何从JSR-310类(如^{
具体来说,这是对被称为“修改的朱利安日”的continuous count of days的计算,而不是Julian calendar system中的日期
例如:
LocalDate date = LocalDate.now();
long modifiedJulianDay = ???
你可以在下面搜索框中键入要查询的问题!
如何从JSR-310类(如^{
具体来说,这是对被称为“修改的朱利安日”的continuous count of days的计算,而不是Julian calendar system中的日期
例如:
LocalDate date = LocalDate.now();
long modifiedJulianDay = ???
# 1 楼答案
简短回答:
说明:
这篇文章最好地描述了朱利安日的概念。简单地说,它是一个简单的、连续的、从某个时代算起的天数,所选的时代给这个变化起了名字。因此,修改后的朱利安日从1858年11月17日开始计算
JSR-310日期和时间对象实现了^{} 接口,该接口定义了
get(TemporalField)
和getLong(TemporalField)
方法。这些允许查询日期/时间对象,以获得特定的时间字段。提供了四种现场实施方式,提供朱利安日的变体:这些字段只能与
getLong(TemporalField)
一起使用,因为它们返回的数字对于int
来说太大。如果调用now.get(JulianFields.MODIFIED_JULIAN_DAY)
,则会引发异常:“UnsupportedTemporalTypeException:get()方法的字段ModifiedJulianDay无效,请改用getLong()请注意,JSR-310只能提供来自^{} 的整数,因此无法表示一天中的时间,并且这些数字都基于午夜。计算也使用当地午夜,而不是UTC,这应该考虑在内
这些字段还可用于使用^{} 上的方法更新日期/时间对象: