MomentJS中的两次比较,格式为HH:mm



这里我需要比较两次,并且必须检查当前时间是否相同或在给定时间之前。

var workingDayTime = '1900'
var currentTime = moment().format("HH:mm")
var endTime = moment(workingDayTime,"HHmm").format("HH:mm")
console.log(currentTime) // 08:21
console.log(endTime) // 19:00

假设workingDayTime的值来自API,格式为"HHMM"。我已经查看了即时文档。并使用了类似endTime.isSameOrAfter(currentTime)的东西。

但它正在返回endTime.isSameOrAfter is not a function。我相信这是因为当前时间和endTime已经格式化为字符串,这不再是一个函数。有什么方法可以实现我想要的功能吗。请帮我提供你的建议和反馈

比较没有字符串格式的矩对象:

const workingDayTime = '1900'
const currentMoment = moment()
const currentTime = currentMoment.format('HH:mm')
const endMoment = moment(workingDayTime,"HHmm")
const endTime = endMoment.format("HH:mm")
const msg = (endMoment.isSameOrAfter(currentMoment))
? 'after'
: 'before'
console.log(`${endTime} is ${msg} ${currentTime}`)

在比较之前不要格式化日期

import moment from "moment";
var workingDayTime = '1900'
var currentTime = moment()
var endTime = moment(workingDayTime,"HHmm")
console.log(endTime.isSameOrAfter(currentTime)) // true

最新更新