假设当前时间是09:34:00
(hh:mm:ss
),我在两个变量中有两个其他时间:
var beforeTime = '08:34:00',
afterTime = '10:34:00';
如何使用Moment.JS检查当前时间是否在beforeTime
和afterTime
之间?
我见过isBetween()
,我试着像这样使用它:
moment().format('hh:mm:ss').isBetween('08:27:00', '10:27:00')
但这不起作用,因为一旦我将第一个(当前时间)时刻格式化为字符串,它就不再是一个时刻对象。我也试过使用:
moment('10:34:00', 'hh:mm:ss').isAfter(moment().format('hh:mm:ss')) && moment('08:34:00', 'hh:mm:ss').isBefore(moment().format('hh:mm:ss'))
但是我得到了false
,因为当我再次格式化当前时间时,它不再是一个时刻。
我怎么才能让它工作?
5条答案
按热度按时间inkz8wg91#
isBetween()
format()
调用,你想要的是在第二次尝试的第一个时刻传递像int这样的解析格式。就是这样
1l5u6lss2#
在本例中,我必须使用
isBetween
和isSame
来覆盖isBetween条件中使用的before
和after
时间。kiayqfof3#
我使用了moment函数组合isSameOrAfter和isSameOrBefore,而不是isBetween。
o2gm4chl4#
wpx232ag5#
该页面上的示例是
在你的代码中没有调用
format
函数,所以我建议尝试