gpt4 book ai didi

javascript - 在带有时间戳的日期之间计算时出现 NaN javascript 错误

转载 作者:行者123 更新时间:2023-12-03 10:57:27 25 4
gpt4 key购买 nike

首先我想说的是,在发帖之前我查看了此论坛中的多个主题。无法找到我的解决方案:(

问题:尝试从两个文本框中查找带有时间戳的两个日期之间的差异时出现 NaN 错误。

我使用的日期格式是 DDMMYYYY HH:MM - 27/01/2015 00:00代码如下。

提前感谢您对这个 super 有用的论坛:)

function stringToDate(s) {
var dateParts = s.split(' ')[0].split('-');
var timeParts = s.split(' ')[1].split(':');
var d = new Date(dateParts[0], --dateParts[1], dateParts[2]);
d.setHours(timeParts[0], timeParts[1], timeParts[2]);

return d;
}

function test() {
var a = textbox_1.value;
var b = textbox_2.value;
alert(stringToDate(a) - stringToDate(b));
}

最佳答案

您的日期以 / 作为分隔符,但您在 - 上拆分字符串。改变

var dateParts = s.split(' ')[0].split('-');

var dateParts = s.split(' ')[0].split('/');

此外,您的时间部分只有小时和分钟,因此不存在 timeParts[2] ,只需将其从 setHours() 调用中删除即可。像这样:

d.setHours(timeParts[0], timeParts[1])

fiddle : http://jsfiddle.net/2evj59d1/

编辑
您的代码返回以毫秒为单位的差异。要将其转换为日期格式只需更改

alert(stringToDate(a) - stringToDate(b));

alert(new Date(stringToDate(a) - stringToDate(b)));

关于javascript - 在带有时间戳的日期之间计算时出现 NaN javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28213029/

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