Javascript 日期时间比较

Javascript 日期时间比较,javascript,momentjs,Javascript,Momentjs,我正在从一个javascript函数进行API调用,该函数正确返回JSON响应。但是,在执行JSON响应时,我在Function.createFromInputFallback moment.js行:320处收到了一个弃用警告和一个错误,当时我用moment.isSameOrBefore点击该行。我对javascript相当陌生,尤其是Node的矩包 基本上,我想确定执行此函数时,哪个预测潮汐最接近当前时间。这是使用moment.isSameOrBefore参数的正确方法吗?或者我应该修改代码以

我正在从一个javascript函数进行API调用,该函数正确返回JSON响应。但是,在执行JSON响应时,我在Function.createFromInputFallback moment.js行:320处收到了一个弃用警告和一个错误,当时我用moment.isSameOrBefore点击该行。我对javascript相当陌生,尤其是Node的矩包

基本上,我想确定执行此函数时,哪个预测潮汐最接近当前时间。这是使用moment.isSameOrBefore参数的正确方法吗?或者我应该修改代码以进行不同的操作吗

以下是JSON:

以下是我的功能:


我认为问题的一部分在于,您正在使用格式化字符串来创建矩实例,而不仅仅是使用矩实例本身。因此,与其这样做,不如:

let curDateTime = moment().format('LLL');           
let theDate = moment(parsedData.predictions[i].t).format('LLL'); 
// ...
moment(theDate).isSameOrBefore(curDateTime);
尝试:

使用矩时,最好将日期时间存储为矩实例,直到您需要向用户显示它们,然后您可以继续执行以下操作:

theDate.format('LLL');
我认为您得到的警告是因为您试图创建一个带有“LLL”格式字符串的矩实例,而矩却抱怨不推荐警告:提供的值不是公认的RFC2822或ISO格式。这是我看到的警告。如果要分析这些格式,还必须指定格式:

moment('September 4, 1986 8:30 PM', 'LLL').format('YYYY-MM-DD H:mm'); // won't complain

你一针见血!
let curDateTime = moment();
let theDate = moment(parsedData.predictions[i].t);
// ...
theDate.isSameOrBefore(curDateTime); // because theDate is now a moment instance, you can call this function on it
theDate.format('LLL');
moment('September 4, 1986 8:30 PM', 'LLL').format('YYYY-MM-DD H:mm'); // won't complain