gpt4 book ai didi

java - Joda - 确定当前时间是否在指定的每周时间段内

转载 作者:行者123 更新时间:2023-11-30 09:28:44 25 4
gpt4 key购买 nike

我在一周中的不同时间收到订单,并且我有一套关于何时可以和不可以接受订单的规则。例如,我们不接受周三下午 4:45 至 5:15 之间的订单。因此,如果订单在下午 3 点到达,一切都很好。如果订单在下午 5 点到达,我们将需要拒绝它。这些规则基于星期几并每天更改。

我的问题是,使用 joda 时间,检查当前时间是否在这个时间窗口内的最佳方法是什么?

我对其他技术持开放态度,但我目前正在通过 Scala 工具时间包装器使用 joda 时间。

我目前正在处理这样的事情:

  val now = DateTime.now
val wednesdayNoTradeInterval:Interval = ??

now.getDayOfWeek match {
case WEDNESDAY => wednesdayNoTradeInterval.contains(now)
}

最佳答案

你可以尝试这样的事情:

implicit def dateTimeToLocalTime(dateTime: DateTime) = dateTime.toLocalTime
type Interval[T] = (T, T)
def during(interval: Interval[LocalTime])(time: LocalTime) = interval match {
case (start, end) => start < time && time < end
}

def day(day: Int)(time: DateTime) = time.dayOfWeek.get == day

val fourish = new LocalTime(16, 45)
val afternoon = during((fourish, (fourish + (30 minutes)) )) _
val wednesday = day(WEDNESDAY) _
val thursday = day(THURSDAY) _
def acceptingOrders = !{
val now = DateTime.now
wednesday(now) && afternoon(now)
thursday(now) && afternoon(now)
}

然后像这样使用它:

acceptingOrders  // ?

关于java - Joda - 确定当前时间是否在指定的每周时间段内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com