• Ajax
  • Ant design
  • Axios-Fetch
  • Avue
  • Browser
  • Canvas
  • CSS
  • Dos-bat
  • Dva
  • Dedecms
  • Echart
  • ElementUI
  • Editors
  • Git
  • GeoServer
  • GIS
  • H5
  • Jquery
  • Java安卓
  • Json
  • Javascript
  • Leaflet
  • Linux
  • Life-Info
  • Mock
  • MongoDB
  • Network
  • NodeJS
  • NPM
  • React
  • 设计运营
  • SEO
  • SVG
  • TypeScript
  • Tools
  • umi
  • uni-APP
  • Vant
  • Vue
  • Windows
  • webpack
  • 位置:OC中文网 > Cesium >

    Cesium改变时间轴时间为北京时间(UTC+8)

    来源:vue-gis 时间:12-09

     

    cesium项目原始的时间格式如上图所示,不太适合中国的风格,我们需要更改一下,变成北京时区(UTC+8),方法如下

    1. var viewer = new Cesium.Viewer("cesiumContainer", { 
    2.   terrainProvider: Cesium.createWorldTerrain(), 
    3.   baseLayerPicker: false, 
    4.   shouldAnimate: true, 
    5. }); 
    6. viewer.animation.viewModel.dateFormatter = DateTimeFormatter
    7. viewer.animation.viewModel.timeFormatter = TimeFormatter;  
    8. viewer.timeline.makeLabel = DateTimeFormatter
    9. function TimeFormatter (time, viewModel) { 
    10.   return this.DateTimeFormatter(time, viewModel, true); 
    11. }  
    12. function  DateTimeFormatter(datetime, viewModel, ignoredate) { 
    13.   var julianDT = new Cesium.JulianDate(); 
    14.   Cesium.JulianDate.addHours(datetime, 8, julianDT); 
    15.   var gregorianDT = Cesium.JulianDate.toGregorianDate(julianDT); 
    16.   var objDT; 
    17.   if (ignoredate){ 
    18.     objDT = ''
    19.   }else { 
    20.     objDT = new Date(gregorianDT.year, gregorianDT.month - 1, gregorianDT.day); 
    21.     objDT = gregorianDT.year + '年' + objDT.toLocaleString('zh-cn', { month: 'short' }) + gregorianDT.day + '日'; 
    22.     if (viewModel || gregorianDT.hour + gregorianDT.minute === 0){ 
    23.       return objDT  
    24.       objDT += ''; 
    25.     } 
    26.   } 
    27.   return objDT + Cesium.sprintf('%02d:%02d:%02d', gregorianDT.hour, gregorianDT.minute, gregorianDT.second);