如何检查当前时间是否在某些营业时间之间?

Ser*_*pia 4 javascript momentjs

下面的代码是我最终想要的结果,但我不认为这就是 momentjs 的工作原理。

let time = moment()
let dayOfWeek = time.weekday()
let hour = time.hour()
let minutes = time.minutes()

let isBusinessHours = false

// Sunday=1, Monday=2, etc..
// Mon-Thu - 8:30am to 7:30pm

if (dayOfWeek >= 2 && dayOfWeek <= 5) {
  if ((hour >= 8 && hour <= 19) && (minutes >= 0 && minutes <= 30)) {
    isBusinessHours = true
  }
} else if (dayOfWeek == 6) { // Fri - 8:30am - 5:30pm

} else if (dayOfWeek == 7) { // Sat - 10:30am - 4:00pm

}
Run Code Online (Sandbox Code Playgroud)

这似乎是一个已解决的问题,但我似乎无法破解它。

Ser*_*pia 5

下面介绍了如何使用 MomentJS 来做到这一点。

let currentTime = moment()
let opening = moment('9:30am', 'h:mma')
let closing = moment('7:30pm', 'h:mma')

if (currentTime.isAfter(opening) && currentTime.isBefore(closing)) {
  console.log("It's business time!")
}
Run Code Online (Sandbox Code Playgroud)

  • 有一个名为 `isBetween` 的函数,因此您也可以使用 `currentTime.isBetween(opening, opening)` (2认同)