Rum*_*lin 4 javascript time google-chrome
首先尝试在IE 9控制台中:
new Date('2013-10-24T07:32:53')
Thu Oct 24 07:32:53 UTC+0200 2013
Run Code Online (Sandbox Code Playgroud)
按预期返回
接下来尝试在FireFox 24控制台中:
new Date('2013-10-24T07:32:53')
Date {Thu Oct 24 2013 07:32:53 GMT+0200 (Central Europe Standard Time)}
Run Code Online (Sandbox Code Playgroud)
然后我进入Chrome 30控制台:
new Date('2013-10-24T07:32:53')
Thu Oct 24 2013 09:32:53 GMT+0200 (Central Europe Daylight Time)
Run Code Online (Sandbox Code Playgroud)
但时间是09,这应该是07.
这是chrome中的错误还是我在这里做错了什么?
我不能使用除了这个'2013-10-24T07:32:53'之外的任何其他格式,我从C#获得JSON.我需要得到这个时间戳的小时,getHours
我得到Chrome中的incorect值.
解:
var inputHour = input.split('T')[1];
inputHour = inputHour.substring(0, 2);
Run Code Online (Sandbox Code Playgroud)
它没有错误.日期解析函数的实现因浏览器而异,因此它接受的dateString的格式也不同.
然而,这种格式似乎在... 链接:
new Date("October 13, 1975 11:13:00")
Run Code Online (Sandbox Code Playgroud)
如果可能,请尝试使用
new Date(year, month, day, hours, minutes, seconds, milliseconds)
Run Code Online (Sandbox Code Playgroud)
保证结果.
关于你的格式,请尝试自己解析.就像是 :
var str = '2013-10-24T07:32:53'.split("T");
var date = str[0].split("-");
var time = str[1].split(":");
var myDate = new Date(date[0], date[1]-1, date[2], time[0], time[1], time[2], 0);
Run Code Online (Sandbox Code Playgroud)
注意(感谢RobG):上面使用的Date构造函数将月份预期为0 - 11,因为10月份是10,因为每个日期字符串,必须在将月份传递给构造函数之前修改月份.
参考.