【发布时间】:2016-03-01 13:07:15
【问题描述】:
我正在编写几年前编写的用于检查日期是否有效的脚本:
//These values are comming from user input
var _day = 19;
var _month = 9; //October (10 - 1 for javascript Date object sake)
var _year = 1986;
var _hour = 0;
var _minute = 0;
var _second = 0;
var result;
//Checks if date is valid
var _datetime = new Date(_year, _month, _day, _hour, _minute, _second);
var _valid =
_day == _datetime.getDate()
&& _month == _datetime.getMonth()
&& _year == _datetime.getFullYear()
&& _hour == _datetime.getHours()
&& _minute == _datetime.getMinutes()
&& _second == _datetime.getSeconds();
if(_valid){
result = 'valid';
}else{
result = 'invalid';
}
document.write('The date ' + _datetime + ' is ' + result);
此日期显示为无效,因为 _datetime.getHours() 返回的是 1 而不是 0。
如果我将 _day 值更改为 18 或 20,则日期会正确验证。我只是看不出有什么问题。
【问题讨论】:
-
此代码为我显示
User input is valid... -
对我来说也显示正确
-
是时区问题吗?
-
我想是的@brso05。也在这里尝试
Date.UTC -
_datetime.getHours()正在返回0
标签: javascript validation date