下面的代码是我最终想要的结果,但我不认为这是什么时候有用。
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
}
这似乎是一个已解决的问题,但我似乎无法破解它。
答案 0 :(得分:2)
以下是使用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!")
}
答案 1 :(得分:0)
// 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
}
此代码将在上午8:00到上午8:30之间计算在营业时间内的时间,因为小时= 8,分钟&gt; = 0且分钟&lt; = 30。
一个选项是在每个if块中设置周一 - 周四,周五和周六的开始和结束时间,并使用MomentJS的isBefore()和isAfter()方法来查看当前时间是否为在工作日的范围内。
请参阅:Comparing two times with Moment JS 并且:https://momentjs.com/docs/#/query/is-before/