Cesium JulianDate(十八)

一摩爾時光發表於2023-02-22

代表天文朱利安日期,它是自4712年1月1日(公元前4713年)正午以來的天數。為了提高精度,該類儲存的日期部分和秒數部分是分開的。並且為了算術安全和表示閏秒,該日期始終儲存在國際原子時間標準中 (TimeStandard.TAI) 

而這其中的Julian可能我們會有些陌生,但是提起他的另一個名字“凱撒大帝”,我們應該就熟悉很多了,其有效的日期範圍是從公元前4713年1月1日到公元9999年12月31日。

 

 

 

 julianDayNumber 是指整數天,因為是從公元前4713年開始計數的,所以這個數可能會很大;secondsOfDay 是指這一天過了多少秒;timeStandard則是指所用時間的標準,Cesium中主要有兩種 Cesium.TimeStandard.TAI(國際原子時間標準)和Cesium.TimeStandard.UTC(協調世界時時間標準,這和JS中的時間標準是一樣的)。

 

常用方法

1.獲得現在時間

new Cesium.JulianDate.now()

 一般很少用這種日期格式,所以會轉換成其他的

 

2.轉換為JavaScript那種日期

從提供的例項建立JavaScript日期。由於JavaScript日期只能精確到最近的毫秒,不能表示閏秒,因此考慮改用JulianDate.toGregorianDate。如果提供的JulianDate在閏秒期間,則使用前一秒。

Cesium.JulianDate.toDate(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

 

相關文章