编程语言
首页 > 编程语言> > javascript-如果当前时间在使用力矩的两次之间

javascript-如果当前时间在使用力矩的两次之间

作者:互联网

我正在尝试使用momentjs查找当前本地时间是否在其他两个时间之间.

我有以下代码:

var currentTime = moment().format('YYYY-MM-DD HH:mm');

var prefix = 'YYYY-MM-DD ';
// the prefix is because moment expects a date prefix when parsing
var start_time = moment(prefix + '16:00').format('HH:mm');
var end_time = moment(prefix + '16:30').format('HH:mm');

if( moment(currentTime).isBetween(start_time,end_time) )
    alert('TRUE');
else
    alert('FALSE');

现在,我们假设时间是当前的16:10,它应该警告TRUE,但是警告FALSE.

任何想法为什么不能按预期工作.格式是否错误?

解决方法:

如果您打算比较它们,请不要格式化从现在起返回的日期.

format()返回字符串,而不是日期/时间可比较的对象.

var currentTime = moment();

var extra = moment().format('YYYY-MM-DD') + ' ';
var start_time = moment(extra + '16:00');
var end_time = moment(extra + '16:30');

if (moment(currentTime).isBetween(start_time, end_time))
  console.log('TRUE');
else
  console.log('FALSE');
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>

标签:javascript,momentjs
来源: https://codeday.me/bug/20191013/1911058.html