【发布时间】:2013-10-31 13:31:55
【问题描述】:
我想将作为 yyyy-mm-ddThh:mm:ss 给出的日期转换为 Javascript 日期。
第一次尝试:
var str = "2013-10-31T18:15:30";
var date = new Date(str)
返回2013 年 10 月 31 日星期四 18:15:30 GMT+0100 (CET)。
第二次尝试:
var str = "2013-10-31T18:15:30";
var str_parts = str.split("T");
var date_parts = str_parts[0].split("-");
var time_parts = str_parts[1].split(":");
var date = new Date(date_parts[0], date_parts[1], date_parts[2], time_parts[0], time_parts[1], time_parts[2]);
返回 2013 年 12 月 1 日星期日 18:15:30 GMT+0100 (CET)。我错过了什么吗?这不应该也返回 Thu Oct 31 2013 18:15:30 GMT+0100 (CET)?不知何故,日期不正确,而时间正好。
对应的小提琴:http://jsfiddle.net/4CLAj/2/
【问题讨论】:
-
我认为
new Date中的月份位是“从零开始”,所以它需要是 9 而不是 10。 -
@putvande:该死,你是对的:date_parts[1]-1 工作正常。
标签: javascript