gpt4 book ai didi

javascript - JavaScript 中的日期减法

转载 作者:数据小太阳 更新时间:2023-10-29 05:58:55 24 4
gpt4 key购买 nike

我有两个文本框分别接受 Start DateEnd Date,格式为 YYYY/MM/DD。

如果用户选择的结束日期超过开始日期 50 天,我需要提醒他。

这是我目前所拥有的:

var startDate = new Date(document.getElementsByName('MYSTARTDATE').value);
var endDate = new Date(document.getElementsByName('MYENDDATE').value);
if ((endDate - startDate) > 50)
{
alert('End date exceeds specification');
return false;
}

举个例子,当我选择开始日期为 2012/01/22 和结束日期为 2012/02/29

startDate = 'Sun Jan 22 00:00:00 UTC +0530 2012'
endDate = 'Wed Feb 29 00:00:00 UTC +0530 2012'

endDate - startDate 的结果是 3283200000,而不是 38。我做错了什么?

最佳答案

3283200000 是以毫秒为单位的 38 天。

38 天 x 24 小时 x 60 分钟 x 60 秒 x 1000 毫秒

此外,这两个日期之间有 38 天,而不是 39 天。

一个简单的解决方案是将变量(实际上是常量)定义为一天中的毫秒数:

var days = 24*60*60*1000;

并在比较中将该变量用作“单位”:

if ((endDate - startDate) > 50*days) { 
...
}

关于javascript - JavaScript 中的日期减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9495043/

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