use*_*523 5 javascript date subtraction
我有两个文本框接受它Start Date,并End 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;
}
Run Code Online (Sandbox Code Playgroud)
举个例子,我选择开始日期为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'
Run Code Online (Sandbox Code Playgroud)
结果endDate - startDate是3283200000,而不是.38我做错了什么?
3283200000是38天(以毫秒为单位).
38天x 24小时x 60分钟x 60秒x 1000毫秒
此外,这两个日期之间有38天,而不是39天.
一个简单的解决方案是将变量(实际上常量)定义为一天中的毫秒数:
var days = 24*60*60*1000;
Run Code Online (Sandbox Code Playgroud)
并在比较中将该变量用作"单位":
if ((endDate - startDate) > 50*days) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6762 次 |
| 最近记录: |