关于cesium中时间可参考:
cesium Clock JulianDate 日照分析 修改当前时间为北京时间-CSDN博客
有几个概念需要了解一下。
1、GMT、UTC
- GMT是前世界标准时,UTC是现世界标准时,UTC 比 GMT更精准,不需要精确到秒的情况下,二者可以视为等同。
- cesium中julianDate默认标准是UTC。
- js中默认标准的GMT。
2、本地时间
在日常生活中所在时区内的当地时间,它由与世界标准时间(UTC)之间的偏移量来定义。这个偏移量可以表示为 UTC- 或 UTC+,后面接上偏移的小时和分钟数。
3、js中的Date对象
js中的Date对象是北京时间,在不同时区打印 new Date() ,输出的结果将会不一样。js采用GMT时间作为偏移,GMT+0800表示:北京时间=GMT+8
- julianDate=UTC=GMT
- 北京时间=UTC+8=GMT+8
4、指定一个北京时间,设置给cesium
let bj_time = new Date("2024/4/15 10:00:00"); // 北京时间
let utc_time = Cesium.JulianDate.fromDate(bj_time); // UTC时间
viewer.clock.currentTime = utc_time;
注意:cesium时钟上的时间是UTC时间,那么显示的结果就是:北京时间 - 8,即2024/4/15 02:00:00 (ps:但是从场景中的光照来看,当前时间确实是上午)。