Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将日期与时间进行比较_Javascript_Meteor_Momentjs - Fatal编程技术网

Javascript 将日期与时间进行比较

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构

此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构造回到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
行中构造日期时使用的格式。