[英]JavaScript new Date() Returning NaN in IE, Safari
我使用highcharts绘制图表并使用new Date()
函数解析日期。 在Chrome和FF中,日期解析正常。
但在IE和Safari中,我得到的是NaN和无效的日期格式 。
下面是我从(element.x)数组中的后端获得的数据
2016, 04,05
2016, 04,06
2016, 04,07
2016, 04,08
2016, 04,09
2016, 04,10
现在,我将它转换为JavaScript中的Date对象,如下所示:
//Loop starts
var xAxis = new Date(element.x);
datas.push([Date.UTC(xAxis.getUTCFullYear(),xAxis.getUTCMonth(), xAxis.getUTCDate())]);
//Loop ends
现在,此操作在IE中返回NaN但在chrome中工作得非常好,如下所示:
铬
Array([0]=>140004454) - Unix Time stamp i get
IE
Array([0]=>NaN)
new Date(dateString)
解析dateString
因不同的浏览器而异,有些浏览器比其他浏览器更灵活。
创建日期最安全的方法是......
element.x
拆分为其组件 new Date(year, month, day)
创建新日期 所以,而不是......
var xAxis = new Date(element.x);
...像这样创建你的日期:
var xvals = element.x.split(',');
var xAxis = new Date(
parseInt(xvals[0]),
parseInt(xvals[1]) - 1,
parseInt(xvals[2])
);
这应该适用于所有浏览器!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.