【发布时间】:2018-06-26 15:49:30
【问题描述】:
我有一个方法可以接受带有时间的 javascript 日期作为输入,并确定当前日期和时间是否在 -30 分钟内。但是,当我在运行时调试它时,moment.add 似乎没有按预期使用分钟。
function isWithinRange(myDate: Date){
// convert to Moment obj
let myMoment = moment(myDate);
let todayMoment = moment(new Date());
let myMomentOk = myMoment.isValid();
let todayOk = todayMoment.isValid();
// create range values
let preTime = myMoment.subtract('m', 30);
let postTime = myMoment.add('m', 30);
//check values are as expected
let localeTime = myDate.toLocaleString();]
let preLocale = preTime.toLocaleString();
let postLocale = postTime.toLocaleString();
let result = todayMoment.isBetween(preTime, postTime);
return result;
}
但是当我在运行时检查 localeTime、preLocale 和 postLocale 时间时,所有三个值都是相同的,“Tue Jun 26 2018 09:58:00 GMT-0400”。加减分钟语句没有影响。
我在这里遗漏了什么或做错了什么?
【问题讨论】:
标签: javascript momentjs