不能在firefox上使用date.parse.它适用于Chrome

NaT*_*hAN 0 javascript firefox jquery

我对jQuery没有经验,所以我陷入了一个问题.问题是在Chrome中我的代码运行正常,但在Firefox中则没有.似乎date.parse命令不起作用,因为"tsv"数据很好但"日期"数据不是.

代码如下.如果有人可以帮助我,请告诉我...

jQuery.get('data.php', null, function(tsv) {
                var lines = [];
                traffic = [];
                try {
                    // split the data return into lines and parse them
                    tsv = tsv.split(/\n/g);
                    jQuery.each(tsv, function(i, line) {
                        line = line.split(/\t/);
                    var date = Date.parse(line[0] +' UTC');
                        traffic.push([
                            date,
                            parseFloat(line[1].replace(',', ' '), 10)
                        ]);
                    }) ;
                } catch (e) {  }
                options.series[0].data = traffic;
                chart = new Highcharts.Chart(options);

    // alert(tsv);
     // alert(traffic);
   //    alert(date);
            }) ;
Run Code Online (Sandbox Code Playgroud)

moi*_*ter 5

Firefox不支持以2013-04-06 22:46:08格式解析日期.

您可以使用date.js库来获得对此格式的支持.

如果您不想使用date.js,则下面的函数会将日期从yyyy-mm-dd HH:mm:ss格式解析为UTC.

function parseDateUTC(input) {
    var reg = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/;
    var parts = reg.exec(input);
    return parts ? (new Date(Date.UTC(parts[1], parts[2] -1, parts[3], parts[4], parts[5],parts[6]))) : null
}
Run Code Online (Sandbox Code Playgroud)

然后你只需要将代码更改为

var date = parseDateUTC(line[0]);
Run Code Online (Sandbox Code Playgroud)