Cesium JulianDate(十八)

时间:2023-02-22 20:10:46

代表天文朱利安日期,它是自4712年1月1日(公元前4713年)正午以来的天数。为了提高精度,该类存储的日期部分和秒数部分是分开的。并且为了算术安全和表示闰秒,该日期始终存储在国际原子时间标准中 (TimeStandard.TAI) 

而这其中的Julian可能我们会有些陌生,但是提起他的另一个名字“凯撒大帝”,我们应该就熟悉很多了,其有效的日期范围是从公元前4713年1月1日到公元9999年12月31日。

 Cesium JulianDate(十八)

 

 

 julianDayNumber 是指整数天,因为是从公元前4713年开始计数的,所以这个数可能会很大;secondsOfDay 是指这一天过了多少秒;timeStandard则是指所用时间的标准,Cesium中主要有两种 Cesium.TimeStandard.TAI(国际原子时间标准)和Cesium.TimeStandard.UTC(协调世界时时间标准,这和JS中的时间标准是一样的)。

 

常用方法

1.获得现在时间

new Cesium.JulianDate.now()

Cesium JulianDate(十八)

 一般很少用这种日期格式,所以会转换成其他的

 

2.转换为JavaScript那种日期

从提供的实例创建JavaScript日期。由于JavaScript日期只能精确到最近的毫秒,不能表示闰秒,因此考虑改用JulianDate.toGregorianDate。如果提供的JulianDate在闰秒期间,则使用前一秒。

Cesium.JulianDate.toDate(julianDate)

Cesium JulianDate(十八)

 

 

3.转换为Iso8601标准

new Cesium.JulianDate.toIso8601(now);

 

4.增加小时、分、秒

Cesium.JulianDate.addHours(now, 10,a);
Cesium.JulianDate.addMinutes(now, 10,b);
Cesium.JulianDate.addSeconds(now, 10,c);

 

5.计算日期差

Cesium.JulianDate.daysDifference(a, now)

是左边减右边,同理有secondsDifference