<分区>
我注意到 javascript 在管理这个特定日期时有一个奇怪的行为
"31-12-2017 23:59:59"
我有一个 API,我调用它并返回一些日期作为字符串,我必须使用 js 将它们转换为日期。
我的代码是这样的
while (i<array.length){
array[i].start_date = new Date (array[i].start_date);
array[i].start_date.setHours(array[i].start_date.getHours()+1);
array[i].start_date = $filter('date')(array[i].start_date, "dd-MM-yyyy HH:mm:ss");
array[i].end_date = new Date (array[i].end_date);
array[i].end_date.setHours(array[i].end_date.getHours()+1);
array[i].end_date = $filter('date')(array[i].end_date, "dd-MM-yyyy HH:mm:ss");
$scope.insSupplies.push(array[i]);
i++;
};
其中 array 是我要查询的 API。
这里的问题是当我的代码尝试这样做时
array[i].end_date = new Date (array[i].end_date);
在这个日期
"31-12-2017 23:59:59"
array[i].end_date
变为 Invalid Date
这是怎么发生的?
编辑:
var date = "31-12-2017 23:59:59"
var dateSplitted = date.split("-");
var dateInverted = dateSplitted[1] +"-" +dateSplitted[0] +"-"+dateSplitted[2];
dateSplitted = dateInverted.split(" ");
alert(dateSplitted[0]+"T"+dateSplitted[1]+"Z");
alert(new Date(dateSplitted[0]+"T"+dateSplitted[1]+"Z"));
我实现了这个粗略的方法来解析我的日期,但我不明白怎么错了 有帮助吗?