2017-08-27 75 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;?>"); 
相關問題