Javascript 无法获取时刻。isBetween()正常工作

Javascript 无法获取时刻。isBetween()正常工作,javascript,momentjs,Javascript,Momentjs,我试图验证Db中的日期是否与完整日历中的事件日期重叠。输入从一开始就是字符串。无论发生什么情况,矩().isBetween()总是给出false。我做错了什么 var format = 'YYYY-MM-DD h:mm', start = "2017-12-08 09:00", end = "2017-12-08 10:00", checkStart = "2017-12-08 09:00"; va

我试图验证Db中的日期是否与完整日历中的事件日期重叠。输入从一开始就是字符串。无论发生什么情况,矩().isBetween()总是给出false。我做错了什么

var format = 'YYYY-MM-DD h:mm',
            start = "2017-12-08 09:00",
            end = "2017-12-08 10:00",
            checkStart = "2017-12-08 09:00";

            var startDate = moment(start).format(format),
                endDate = moment(end).format(format);

            var startDatetoCheck = moment(checkStart).format(format),
                endDateToCheck = moment(checkStart).add(1, 'hours').format(format);

            var bool1 = moment(checkStart).isBetween(moment(start).format(format), moment(end).format(format));
            var bool2 = moment(endDateToCheck).isBetween(moment(start).format(format), moment(end).format(format));
默认情况下
时刻(data0).isBetween(date1,date2)
使用严格的比较

版本2.13.0引入了包容性。A[表示包含值。A(表示排除。如果使用包容性参数,则必须传递两个指标)

var格式='YYYY-MM-DD hh:MM',
start=“2017-12-08 09:00”,
end=“2017-12-08 10:00”,
checkStart=“2017-12-08 09:00”;
var startDate=力矩(开始)。格式(格式),
endDate=时刻(结束)。格式(格式);
var startDatetoCheck=力矩(检查开始)。格式(格式),
endDateToCheck=时刻(checkStart).add(1,'hours').format(格式);
var bool1=moment(checkStart).isBetween(moment(start).format(format),moment(end).format(format),null,“[]”);
var bool2=moment(endDateToCheck).isBetween(moment(start).format(format),moment(end).format(format),null,“[]”
console.log(bool1)
console.log(bool2)

可能是因为变量
start
end
checkstart
没有用
var
声明?这只是编辑器中的一个错误。还需要修复它。您需要执行
是介于(start,end,null,[])
,其中
[]
表示“开始和结束都包含在内”:为什么在每一个瞬间对象上都使用
格式
,而不是只使用对象本身?清理版本:去润滑警告有什么值得关注的吗?为了使代码尽可能干净,您认为格式应该放在哪里?@AllramEst这是因为您在格式字符串中使用了
h
。您没有需要检查的格式。虽然已编辑。现在没有警告像符咒一样有效。我将用工作代码更新我的问题。