JulianDate 是 CesiumJS 中用于表示日期和时间的对象。该对象基于儒略日系统,可以精确表示从公元4713年1月1日12:00:00(格林威治标准时间)到任意时刻的时间。
JulianDate 对象可以使用以下方法来创建 JulianDate 对象:
JulianDate.now()创建一个表示当前时间的 JulianDate 对象。
var now = Cesium.JulianDate.now();
JulianDate.fromDate(date)将 Date 对象转换为 JulianDate 对象。
var jsDate = new Date();
var julianDate = Cesium.JulianDate.fromDate(jsDate);
JulianDate.fromIso8601(iso8601String)将 ISO 8601 格式的字符串转换为 JulianDate 对象。
var iso8601Str = '2022-01-01T00:00:00Z';
var julianDate = Cesium.JulianDate.fromIso8601(iso8601Str);
JulianDate.fromGregorianDate(gregorianDate)将 GregorianDate 对象转换为 JulianDate 对象。
var gregorianDate = new Cesium.GregorianDate(2022, 1, 1);
var julianDate = Cesium.JulianDate.fromGregorianDate(gregorianDate);
JulianDate 对象有以下属性:
dayNumber表示儒略日的整数部分。
secondsOfDay表示儒略日的小数部分,以秒为单位。
JulianDate 对象有以下方法:
toString()将 JulianDate 对象转换为 ISO 8601 格式的字符串。
var julianDate = Cesium.JulianDate.now();
console.log(julianDate.toString()); // '2022-01-01T00:00:00Z'
toGregorianDate([gregorianDate])将 JulianDate 对象转换为 GregorianDate 对象。如果提供了 gregorianDate 参数,则将结果放入该对象。
var julianDate = Cesium.JulianDate.now();
var gregorianDate = new Cesium.GregorianDate();
julianDate.toGregorianDate(gregorianDate);
console.log(gregorianDate.year); // 2022
console.log(gregorianDate.month); // 1
console.log(gregorianDate.day); // 1
equals(other)将 JulianDate 对象与另一个 JulianDate 对象进行比较。
var julianDate1 = Cesium.JulianDate.now();
var julianDate2 = Cesium.JulianDate.now();
console.log(julianDate1.equals(julianDate2)); // true
greaterThan(other)如果 JulianDate 对象表示的时间在另一个 JulianDate 对象之后,则返回 true。
var julianDate1 = Cesium.JulianDate.now();
var julianDate2 = Cesium.JulianDate.now();
console.log(julianDate2.greaterThan(julianDate1)); // false
lessThan(other)如果 JulianDate 对象表示的时间在另一个 JulianDate 对象之前,则返回 true。
var julianDate1 = Cesium.JulianDate.now();
var julianDate2 = Cesium.JulianDate.now();
console.log(julianDate1.lessThan(julianDate2)); // false
greaterThanOrEquals(other)如果 JulianDate 对象表示的时间在另一个 JulianDate 对象之后或表示同一时间,则返回 true。
var julianDate1 = Cesium.JulianDate.now();
var julianDate2 = Cesium.JulianDate.now();
console.log(julianDate2.greaterThanOrEquals(julianDate1)); // true
console.log(julianDate1.greaterThanOrEquals(julianDate1)); // true
lessThanOrEquals(other)如果 JulianDate 对象表示的时间在另一个 JulianDate 对象之前或表示同一时间,则返回 true。
var julianDate1 = Cesium.JulianDate.now();
var julianDate2 = Cesium.JulianDate.now();
console.log(julianDate1.lessThanOrEquals(julianDate2)); // true
console.log(julianDate1.lessThanOrEquals(julianDate1)); // true
clone(result)创建一个 JulianDate 对象的副本。如果提供了 result 参数,则将结果放入该对象。
var julianDate1 = Cesium.JulianDate.now();
var julianDate2 = julianDate1.clone();
console.log(julianDate1.toIso8601()); // '2022-01-01T00:00:00Z'
console.log(julianDate2.toIso8601()); // '2022-01-01T00:00:00Z'
console.log(julianDate1 === julianDate2); // false