Javascript 将日期与时间进行比较
此Meteor服务器代码尝试查找给定的日期字符串DD/MM/YYYY是否在过去14天内Javascript 将日期与时间进行比较,javascript,meteor,momentjs,Javascript,Meteor,Momentjs,此Meteor服务器代码尝试查找给定的日期字符串DD/MM/YYYY是否在过去14天内 let日期='2017年5月3日'//年月日 让dayStart=moment().减去(14,'days')。格式('DD/MM/YYYY'); if(时刻(日期).isBefore(开始日)){ console.log('before'); }否则{ console.log('after'); } 这是可行的,但我发现控制台错误: 弃用警告:提供的值不是可识别的RFC2822或ISO格式。moment构
let日期='2017年5月3日'//年月日
让dayStart=moment().减去(14,'days')。格式('DD/MM/YYYY');
if(时刻(日期).isBefore(开始日)){
console.log('before');
}否则{
console.log('after');
}
这是可行的,但我发现控制台错误:
弃用警告:提供的值不是可识别的RFC2822或ISO格式。moment构造回到js Date(),这在所有浏览器和版本中都不可靠。不鼓励使用非RFC2822/ISO日期格式,并将在即将发布的主要版本中删除。有关更多信息,请参阅
有没有建议如何修复它,使其在没有错误的情况下工作?thx您正在计算一个日期,将其写入一个字符串,以一种未指定的(在解析时)非标准格式从字符串中解析出同一日期,并将其与另一种未指定的非标准格式的日期进行比较 相反,使用力矩而不是字符串进行比较:
let date = '03/05/2017'; //DD/MM/YYYY
let dateAsMoment = moment(date, 'DD/MM/YYYY'); // specified parsed date
let dayStart = moment().subtract(14, 'days'); // 14 days before now, as a Moment
if (dateAsMoment.isBefore(dayStart)) {
console.log('before');
} else {
console.log('after');
}
警告消息中的链接会准确地告诉您该做什么。您需要指定在
if
行中构造日期时使用的格式。