Я использую библиотеку Vue.js
и Moment.js
для работы со временем, и мне нужно сравнить часы и минуты, а не дату.Например, мне нужно сравнить '12:00'
и '13:45'
, и я использую функцию .isBefore
( документы ).
Я пробовал несколько функций, и они работают с датами, ноне время точно (я пробовал много примеров, так что это последний из них)
Я использую момент в качестве прототипа, поэтому $
в порядке
let time = this.$moment('10:00-11:30'.split('-')[0], 'HH:mm').format('HH:mm');
let time2 = this.$moment(new Date(), 'HH:mm').format('HH:mm');
console.log({time, time2});
console.log(this.$moment(time.format('hh:mm').isBefore(this.$moment('12:00'), 'hh:mm'))
console.log(this.$moment(time, 'hh:mm').format('hh:mm').isBefore(this.$moment(time2).format('hh:mm'), 'hh:mm'))
console.log(this.$moment(this.$moment('10:00', 'HH:mm').format('HH:mm')).isBefore(this.$moment('12:00'),'HH:mm'));
console.log(this.$moment(this.$moment('10:00', 'HH:mm').format('HH:mm')).isBefore(this.$moment(time2).format('HH:mm'),'HH:mm'));
Некоторые из них возвращают false
, но должен возвращать true
, а некоторые из них возвращают ошибку .isBefore is not a function
.Я также нахожу это , это и это , но оно работает только с точными датами, а не только часами и минутами
Может кто-нибудь помочьмне выяснить, что я сделал не так?