Javascript 解析以更改日期
我在解析从服务器获取的json中的日期时遇到问题。日期格式为YYYY MM dd HH MM ss CST,末尾为时区,这是第一个条目:Javascript 解析以更改日期,javascript,date,datetime,highcharts,milliseconds,Javascript,Date,Datetime,Highcharts,Milliseconds,我在解析从服务器获取的json中的日期时遇到问题。日期格式为YYYY MM dd HH MM ss CST,末尾为时区,这是第一个条目: 2015-01-06 00:00:00 CST 我正在使用它来绘制数据,我需要将其解析为毫秒,以便在x轴日期时间中正确使用。我不太熟悉javascript中的日期转换,所以我不断得到奇怪的结果——以毫秒为单位的解析值总是错误的,因此在不正确的点绘制图形 //obj['Time'] has the time value received = "2015-01-
2015-01-06 00:00:00 CST
我正在使用它来绘制数据,我需要将其解析为毫秒,以便在x轴日期时间中正确使用。我不太熟悉javascript中的日期转换,所以我不断得到奇怪的结果——以毫秒为单位的解析值总是错误的,因此在不正确的点绘制图形
//obj['Time'] has the time value received = "2015-01-06 00:00:00 CST"
var fecha=obj['Time'].split(" ")[0].split("-"),
hora=obj['Time'].split(" ")[1].split(":")[0];
var from = Date.parse( new Date(fecha[0], fecha[1], fecha[2], hora) );
因此,我尝试了以下方法:1直接解析obj['Time']。2创建一个新的日期对象,该对象存储在“from”变量中,并使用手动拆分输入日期的显式值进行解析
console.log("Original: " + obj['Time'] );
console.log("1) " + Date.parse(obj['Time']));
console.log("2) " + from);
console.log("Response 1: " + new Date( Date.parse(obj['Time']) ) );
console.log("Response 2: " + new Date( from ) );
结果如下:
Original: 2015-01-06 00:00:00 CST
1) 1420524000000
2) 1423177200000
Response 1: Tue Jan 06 2015 07:00:00 GMT+0100 (CET)
Response 2: Fri Feb 06 2015 00:00:00 GMT+0100 (CET)
我相信新日期使用我的本地时区并进行转换,因为该值的偏移量为1小时GMT+0100°???。。。所以所有的东西都有一个不应该存在的偏移量。也许有人能告诉我正确的解析方法:
谢谢
注意:我不需要在图表中显示时区,我只需要有正确的datetime值
另外,在创建新的日期对象时,我知道该月的0索引,这就是为什么它显示的是二月而不是一月,但是它仍然不正确
var日期=2015-01-06 00:00:00 CST.replace//g,/;
var orgDate=新日期;
var dateParsed=Date.parseorgDate//解析到时间戳。以毫秒计
document.writeTimestamp CST:+dateParsed;
文件。书写;
文件。书写;
var dateToUTC=已解析的新日期;
document.writeUTC/GMT:+dateToUTC.toutstring;
文件。书写;
document.writeLocal:+dateToUTC.toString;
var timeStringUTC=Date.parsenew DatedateToUTC.toutstring;
文件。书写;
文件。书写;
变量UTCthen=orgDate.getUTCFullYear+-+ParseInTorDate.getUTCMonth+1<10?0+parseIntorgDate.getUTCMonth+1:orgDate.getUTCMonth+1+-+orgDate.getUTCDate<10?0+orgDate.getUTCDate:orgDate.getUTCDate+T00:00:00.000Z
document.writeTimestamp UTC:+Date.parseUTCthen;
文件。书写;
document.writeDifference毫秒:+dateParsed-Date.parseUTCthen+/=6小时//6小时日期操作/操作,包括时区、闰年等?->使用一个库,比如CST的意思是什么?美国的中央时区@J.F.SebastianI,我来看看@Andreas,语言环境支持似乎不错