Laravel 谷歌图表中的javascript日期

在这里,我想在谷歌图表中获取 JavaScript 日期,并将日期作为 yyyy-mm-dd 格式传递,我想将其转换为 JavaScript 以生成图表。这是传递给谷歌图表的控制台

Laravel 谷歌图表中的javascript日期

现在我想在 JavaScript 类型中获取日期为 new Date(2021,07,29)new Date(2021,08,28) ..我已经通过多种方式但没有得到解决方案.. 这是我的谷歌图表代码

<script src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
   var user =  {!! json_encode($user) !!};
   var user = JSON.parse(user);
   console.log(user);
    google.charts.load('current',{
        'packages': ['timeline']
    });
    google.charts.setOnLoadCallback(lineChart);
    function lineChart() {
    var data = google.visualization.arrayToDataTable(user);
    var options = {
            title: 'Wildlife Population',curveType: 'function',legend: {
                position: 'bottom'
            }
        }; 
    var chart = new google.visualization.Timeline(document.getElementById('monthly_report_timeline'));
    chart.draw(data,options);
    }        
</script>
lihaizheng17 回答:Laravel 谷歌图表中的javascript日期

问题不清楚。推测日期在 JSON 中作为时间戳以 YYYY-MM-DD HH:mm:ss 格式传递,但您需要它们作为 Date 对象。您可以使用 reviver function 将其作为 JSON.parse 的一部分。

由于时间戳不是 ECMA-262 支持的格式,您应该手动解析它们(另请参阅 Converting a string to a date in JavaScript,库可以提供帮助)而不是使用内置解析器,例如

// Parse date in YYYY-MM-DD HH:mm:ss format
function parseDate(date) {
  let [Y,M,D,H,m,s] = date.split(/\D/);
  return new Date(Y,M-1,s);
}

let jsonSource = '["Name","2021-07-29 00:00:00","2021-08-28 00:00:00"]';
let pattern = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/; 
let foo = JSON.parse(
  jsonSource,(key,value) => pattern.test(value)? parseDate(value) : value
);

// Result
foo.forEach((value,i) => console.log(i + ' ' + typeof value + ' "' + value + '"'));

本文链接:https://www.f2er.com/17492.html

大家都在问