java判断当前时间是否在对应时间段内

/**
 * @param beginTime 开始时间
 * @param endTime   结束时间
 * @return true在时间段内,false不在时间段内
 */
public static boolean isBetween(LocalDateTime beginTime, LocalDateTime endTime) {
    //获取当前时间
    LocalDateTime now = LocalDateTime.now();
    boolean flag = false;
    if (now.isAfter(beginTime) && now.isBefore(endTime)) {
        flag = true;
    }
    return flag;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设你有以下的嵌套Map,表示不同时间段的起始和结束时间,以及对应的数值: ```java Map<String, Map<String, Integer>> timeRanges = new HashMap<>(); timeRanges.put("range1", new HashMap<String, Integer>() {{ put("start", 0); put("end", 3); put("value", 10); }}); timeRanges.put("range2", new HashMap<String, Integer>() {{ put("start", 3); put("end", 6); put("value", 20); }}); timeRanges.put("range3", new HashMap<String, Integer>() {{ put("start", 6); put("end", 9); put("value", 30); }}); timeRanges.put("range4", new HashMap<String, Integer>() {{ put("start", 9); put("end", 12); put("value", 40); }}); ``` 然后你可以使用SimpleDateFormat类来获取当前时间对应的小时数,再根据这个小时数来判断当前时间属于哪个时间段,并获取对应的数值: ```java SimpleDateFormat sdf = new SimpleDateFormat("HH"); String currentHour = sdf.format(new Date()); int hour = Integer.parseInt(currentHour); String timeRange = ""; int value = 0; for (Map.Entry<String, Map<String, Integer>> entry : timeRanges.entrySet()) { Map<String, Integer> range = entry.getValue(); int start = range.get("start"); int end = range.get("end"); if (hour >= start && hour < end) { timeRange = entry.getKey(); value = range.get("value"); break; } } System.out.println("当前时间段:" + timeRange + ",对应数值:" + value); ``` 这段代码首先创建了一个SimpleDateFormat对象,用来格式化当前时间,获取当前小时数。然后遍历嵌套Map,找到当前时间属于哪个时间段,并获取对应的数值。最后输出结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值