2017-08-27 49 views
1

我使用Highcharts库在网站上显示值。我的表的xAxis是日期,在Firefox和Chrome上运行良好,但不适用于Safari浏览器。HighCharts不适用于Safari,但可以在Firefox和Chrome上正常工作

我怀疑Safari中的Date对象的解释与其他浏览器不同。

¿某些提示?

这是我的代码:

<script> 
myChart = new Highcharts.chart('containerTemperatura', { 
    title: { 
     text: 'Evolución de la Temperatura' 
    }, 
    xAxis: { 
     type: 'datetime', 
     dateTimeLabelFormats: { 
      minute: '%H:%M', 
      hour: '%H:%M' 
     } 
    }, 
    yAxis: { 
     title: { 
      text: 'ºC' 
     } 
    }, 
    series: [{ 
     name: 'TEMPERATURA', 
     color: '#808080', 
     data:(function(){ 
      var data = []; 
      <?php 
      for($i = 0; $i < count($ultimasLecturas); $i++){ 
       ?> 
       // EXAMPLE: $ultimasLecturas[$i]->fechaHora = "2017-08-12 12:34:04" 
       var $fecha = new Date("<?php echo $ultimasLecturas[$i]->fechaHora;?>"); 

       // a compensation for different timezones 
       $fechaProcesada = $fecha.getTime() + <?php echo $UTCmilseg; ?>; 
       data.push([$fechaProcesada,<?php echo $ultimasLecturas[$i]->temperatura;?>]); 
       <?php 
      } ?> 
      return data; 
     })() 
    }] 
}); 
</script> 
+1

在Safari中,'new Date(“2017-08-12 12:34:04”)'返回一个无效日期(符合ECMA-262)。请参阅[*为什么Date.parse提供不正确的结果?](https://stackoverflow.com/questions/2587345/why-does-date-parse-give-incorrect-results)请注意Date构造函数和* Date。解析*使用相同的内置解析器。 – RobG

+2

这是[*为什么Date.parse会给出不正确的结果?]的副本(https://stackoverflow.com/questions/2587345/why-does-date-parse-give-incorrect-results) – RobG

+0

可能的重复[为什么Date.parse会给出不正确的结果?](https://stackoverflow.com/questions/2587345/why-does-date-parse-give-incorrect-results) –

回答

0

我解决问题添加此JavaScript函数:

function parseDate(inputTimestamp){ 
    var parts = inputTimestamp.split(/[ \/:-]/g); 
    var dateFormated = parts[1] + "/" + parts[2] + "/" + parts[0] + " " + parts[3] + ":" + parts[4] + ":" + parts[5]; 
    return new Date(dateFormated); 
} 

而改变这一行...

var $fecha = new Date("<?php echo $ultimasLecturas[$i]->fechaHora;?>"); 

此行等:

var $fecha = parseDate("<?php echo $ultimasLecturas[$i]->fechaHora;?>"); 
相关问题