Javascript 为什么这一年被归为南?
我正在尝试验证日期,规则如下:Javascript 为什么这一年被归为南?,javascript,momentjs,Javascript,Momentjs,我正在尝试验证日期,规则如下: 非闰年或无效日期 年份必须大于1868年 我正在使用此验证,我就是这样做的: 函数验证(){ var值=力矩('33/33/1986','MM/DD/YYYY'); 变量年=时刻('33/33/1986','MM/DD/YYYY')。年(); console.log(值) 控制台日志(年) if(value.isValid()&&year>=1868){ 返回true; } } 验证() 33/33/1986不是momentjs有效对象,因为日期和月份无效
- 非闰年或无效日期
- 年份必须大于1868年
函数验证(){
var值=力矩('33/33/1986','MM/DD/YYYY');
变量年=时刻('33/33/1986','MM/DD/YYYY')。年();
console.log(值)
控制台日志(年)
if(value.isValid()&&year>=1868){
返回true;
}
}
验证()代码>
33/33/1986
不是momentjs有效对象,因为日期和月份无效
您应该尝试使用正确的日期和月份,如12/12/1986
33/33/1986
不是momentjs有效对象,因为日期和月份无效
您应该尝试使用正确的日期和月份,如1986年12月12日,您不能解析不存在的日期。既没有第33天也没有第33个月。如果使用有效日期,代码将正常运行。您无法解析不存在的日期。既没有第33天也没有第33个月。如果您使用有效日期,您的代码将正常运行。Firstmoment
不喜欢在没有指定格式的情况下为您解析日期,也不喜欢解析错误日期(我们只有12个月,最多31天,那么什么是33/33/
?)
试试这个:
var year=时刻('12/20/1986','MM/DD/YYYY')。年();
如果(年份>=1868){
console.log('YAY!')
}
首先时刻
不喜欢在没有指定格式的情况下为您解析日期,也不喜欢解析糟糕的日期(我们只有12个月,最多31天,那么什么是33/33/
?)
试试这个:
var year=时刻('12/20/1986','MM/DD/YYYY')。年();
如果(年份>=1868){
console.log('YAY!')
}
MomentJS在调用提供格式的moment()
时提供。你可以用它来猜一猜今年是什么时候
parsingFlags
包含一个parsedDateParts
数组,该数组包含按降序解析的值,第一个值是年,第二个值是月,等等
显然,如果有人进入了无效年份,那么所有的赌注都被取消了
下面的代码显示了所有的parsingFlags
,然后输出在parsedDateParts
中找到的年份
函数验证(){
var值=力矩('33/33/1986','MM/DD/YYYY');
变量年份=时刻('33/33/1986','MM/DD/YYYY')。parsingFlags()。parsedDateParts[0];
console.log(矩('33/33/1986','MM/DD/YYYY').parsingFlags())
控制台日志(年)
if(value.isValid()&&year>=1868){
返回true;
}
}
验证()代码>
MomentJS在调用提供格式的moment()
时提供。你可以用它来猜一猜今年是什么时候
parsingFlags
包含一个parsedDateParts
数组,该数组包含按降序解析的值,第一个值是年,第二个值是月,等等
显然,如果有人进入了无效年份,那么所有的赌注都被取消了
下面的代码显示了所有的parsingFlags
,然后输出在parsedDateParts
中找到的年份
函数验证(){
var值=力矩('33/33/1986','MM/DD/YYYY');
变量年份=时刻('33/33/1986','MM/DD/YYYY')。parsingFlags()。parsedDateParts[0];
console.log(矩('33/33/1986','MM/DD/YYYY').parsingFlags())
控制台日志(年)
if(value.isValid()&&year>=1868){
返回true;
}
}
验证()代码>
- 为什么年份包含NaN值?
由于时刻('33/33/1986','MM/DD/YYYY')。isValid()
为false
,文件的时刻部分明确说明:
如果某个时刻无效,则其行为类似于浮点运算中的NaN
这些函数返回null或NaN,并具有某种结构:
无效。get(unit)
与所有其他命名getter一样返回null
- 如果您有机会知道一种更好的方法来进行相同的验证,请随时在此处发布强>
您可以使用(在解析输入时添加true
作为第三个参数)改进验证,如以下代码段所示:
功能验证(输入){
var值=力矩(输入'MM/DD/YYYY',真);
var year=value.year();
if(value.isValid()&&year>=1868){
返回true;
}
返回false;
}
控制台日志(验证('33/33/1986')代码>
- 为什么年份包含NaN值?
由于时刻('33/33/1986','MM/DD/YYYY')。isValid()
为false
,文件的时刻部分明确说明:
如果某个时刻无效,则其行为类似于浮点运算中的NaN
这些函数返回null或NaN,并具有某种结构:
无效。get(unit)
与所有其他命名getter一样返回null
- 如果您有机会知道一种更好的方法来进行相同的验证,请随时在此处发布强>
您可以使用(在解析输入时添加true
作为第三个参数)改进验证,如以下代码段所示:
功能验证(输入){
var值=力矩(输入'MM/DD/YYYY',真);
var year=value.year();
if(value.isValid()&&year>=1868){
返回true;
}
返回false;
}
控制台日志(验证('33/33/1986')代码>
Areturn
语句需要一个函数
否,如果日期无效,则不应获取年份;这不是它的工作原理。因为1986年没有第32个月的第33天。我在1986年还活着,我可以告诉你,那一年没有第33个月或第33天