Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析以更改日期_Javascript_Date_Datetime_Highcharts_Milliseconds - Fatal编程技术网

Javascript 解析以更改日期

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-

我在解析从服务器获取的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-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,语言环境支持似乎不错