为了账号安全,请及时绑定邮箱和手机立即绑定

如何比较小时数?

如何比较小时数?

慕慕森 2021-08-04 10:16:44
我正在构建一个应用程序,我需要知道如何比较两个小时。例如,我的商店早上 6:30 开门,下午 5:00 关门。我需要TextView在 5 PM 后显示我的商店关门,并且在 6:30 AM 后我的商店营业,从周一到周五。我怎样才能做到这一点?这是我的尝试:public void timer() {    Calendar c = Calendar.getInstance();    int timeOfDay = c.get(Calendar.HOUR_OF_DAY);    int open = 6:30; // 1 ERROR HERE WITH ":"    int close = 17;    if (timeOfDay < close) {        hour.setText.("OPEN");    }}但我收到多个错误。当我将 06:30 与 ":" 放在一起时,int open 中的一个;两个,周一至周五的限制。谢谢您的帮助。
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您应该使用 Java 8 Date & Time 库,因为 Calendar 和 Date 已过时。


本LocalTime类应该是足够了。


LocalTime open = LocalTime.of(6, 30);

LocalTime closed = LocalTime.of(17, 0);


LocalTime currentTime = LocalTime.now();

if (currentTime.isBefore(open) || currentTime.isAfter(closed)) {

    // Closed

}

然后,您可以使用DateTimeFormatter该类将时间格式化为所需的格式。


如果您在确定商店的营业时间时还想考虑星期几,那么您可以LocalDateTime结合上述示例使用:


LocalDateTime now = LocalDateTime.now();


// The opening days. Static import these from java.time.DayOfWeek

Set<DayOfWeek> daysOpen = new HashSet<>(Arrays.asList(

    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY));

// Opening and closing times

LocalTime timeOpen = LocalTime.of(6, 30);

LocalTime timeClosed = LocalTime.of(17, 0);


if (!daysOpen.contains(now.getDayOfWeek()) || now.toLocalTime().isBefore(timeOpen) || now.toLocalTime().isAfter(timeClosed)) {

    System.out.println("Closed");

}

else {

    System.out.println("Open");

}


查看完整回答
反对 回复 2021-08-04
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

常量HOUR_OF_DAY是一个仅代表小时的整数。我建议使用该方法getTime()请参阅此链接),然后使用返回的Date对象。


查看完整回答
反对 回复 2021-08-04
?
12345678_0001

TA贡献1802条经验 获得超5个赞

我想不出一个非常简洁的方法来做到这一点,但也许你可以使用这种方法


public boolean isOpen(Calendar c) {

   int minute = c.get(Calendar.MINUTE);

   int hour = c.get(Calendar.HOUR_OF_DAY);

   return (hour < 17 && (hour > 6 || (hour == 6 && minute >=30)));

}

如果它在 6:30 和 17:00 之间,则应返回 true,而在任何其他时间则返回 false


(如果小时小于 17,并且(小时大于 6,或小时为 6 且分钟为 30 或更高))


查看完整回答
反对 回复 2021-08-04
  • 3 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信