gpt4 book ai didi

javascript - Stange javascript Date 在特定日期的行为

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:11:14 24 4
gpt4 key购买 nike

<分区>

我注意到 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"));

我实现了这个粗略的方法来解析我的日期,但我不明白怎么错了有帮助吗?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com