Java如何比较当前时间是否在两个时间范围内

用户名

我有两次String t1 = "17:00:00-07:00"String t2 = "23:59:00-07:00",这是下午5点本地时间和下午11:59当地时间(我的时区是PT)。

假设我在EST时区。我怎么知道当前时间是否落在t1和t2的时差内?

我尝试使用:

ISODateTimeFormat.timeNoMillis()
        .parseDateTime(t1)
        .withZone(DateTimeZone.UTC)
        .toLocalTime()
        .toDateTimeToday();

但是17:00:00-04:00当我期待类似的东西时,它给了我20:00:00-04:00

durron597

假设ISODateTimeFormat.timeNoMillis()它将始终是适当的解析器,则您想为此使用Interval类。此外,使用parseLocalTime()替代parseDateTime(),然后将其转换为一个DateTime使用.withOffsetParsed()方法,确保了时区得到妥善处理。

public static boolean isNowBetweenRange(String t1, String t2) {    
  DateTime time1 = normalizeString(t1);
  DateTime time2 = normalizeString(t2);

  Interval interval = new Interval(time1, time2);

  return interval.contains(DateTime.now());
}

private static final DateTimeFormatter FORMAT =
                  ISODateTimeFormat.timeNoMillis().withOffsetParsed();

private static DateTime normalizeString(String t1) {
  DateTimeZone zone = FORMAT.parseDateTime(t1).getZone();
  return FORMAT
      .parseLocalTime(t1)
      .toDateTimeToday(zone);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

确定两个日期是否在允许的时间范围内

来自分类Dev

如何让Cron在同一天在两个不同的时间范围内运行?

来自分类Dev

PHP:循环遍历json,根据两个键值将当前时间与时间范围进行比较

来自分类Dev

计算给定时间范围内两个日期时间之间的小时数

来自分类Dev

在给定两个日期的情况下,检查一个时间范围内是否至少花费了两个小时

来自分类Dev

比较时间:检查给定时间是否在另一个时间范围内

来自分类Dev

比较时间:检查给定时间是否在另一个时间范围内

来自分类Dev

如何将两个给定时间与当前时间进行比较?

来自分类Dev

只返回两个时间戳范围内的行 - SQL - Postgresql

来自分类Dev

如何同时考虑分钟,检查当前时间是否在特定范围内

来自分类Dev

查看当前时间是否在两个时间之间

来自分类Dev

在两个列范围内逐行比较

来自分类Dev

如何将两个数据框与重叠日期时间范围内的列合并

来自分类Dev

如何检查当前时间是否在两个给定的时间之间?

来自分类Dev

如何知道当前时间是否在两个时间跨度之间?

来自分类Dev

PHP比较两个日期时间范围

来自分类Dev

检查印度当前时间是否在特定时间范围内

来自分类Dev

尝试使用momentJS(UTC)检查当前时间是否在开始/结束时间范围内

来自分类Dev

如何快速检查时间是否在特定范围内

来自分类Dev

如何检查时间是否在日期范围内

来自分类Dev

我如何找到iso 8601时间是否在一个小时范围内?

来自分类Dev

如何确定两个值之间的差异是否落在awk的范围内?

来自分类Dev

如何知道两个画框是否在特定范围内发生碰撞。C#

来自分类Dev

检查UTC时间是否在范围内

来自分类Dev

Oracle SQL过滤器在两个日期之间的结果,但仅显示时间范围内的记录

来自分类Dev

确定两个时间范围是否重叠

来自分类Dev

如何比较两个时间戳以查看一个时间戳是否晚了超过特定的分钟数?

来自分类Dev

如何仅比较小时内的两个时间对象

来自分类Dev

如何比较值是否在范围内?

Related 相关文章

  1. 1

    确定两个日期是否在允许的时间范围内

  2. 2

    如何让Cron在同一天在两个不同的时间范围内运行?

  3. 3

    PHP:循环遍历json,根据两个键值将当前时间与时间范围进行比较

  4. 4

    计算给定时间范围内两个日期时间之间的小时数

  5. 5

    在给定两个日期的情况下,检查一个时间范围内是否至少花费了两个小时

  6. 6

    比较时间:检查给定时间是否在另一个时间范围内

  7. 7

    比较时间:检查给定时间是否在另一个时间范围内

  8. 8

    如何将两个给定时间与当前时间进行比较?

  9. 9

    只返回两个时间戳范围内的行 - SQL - Postgresql

  10. 10

    如何同时考虑分钟,检查当前时间是否在特定范围内

  11. 11

    查看当前时间是否在两个时间之间

  12. 12

    在两个列范围内逐行比较

  13. 13

    如何将两个数据框与重叠日期时间范围内的列合并

  14. 14

    如何检查当前时间是否在两个给定的时间之间?

  15. 15

    如何知道当前时间是否在两个时间跨度之间?

  16. 16

    PHP比较两个日期时间范围

  17. 17

    检查印度当前时间是否在特定时间范围内

  18. 18

    尝试使用momentJS(UTC)检查当前时间是否在开始/结束时间范围内

  19. 19

    如何快速检查时间是否在特定范围内

  20. 20

    如何检查时间是否在日期范围内

  21. 21

    我如何找到iso 8601时间是否在一个小时范围内?

  22. 22

    如何确定两个值之间的差异是否落在awk的范围内?

  23. 23

    如何知道两个画框是否在特定范围内发生碰撞。C#

  24. 24

    检查UTC时间是否在范围内

  25. 25

    Oracle SQL过滤器在两个日期之间的结果,但仅显示时间范围内的记录

  26. 26

    确定两个时间范围是否重叠

  27. 27

    如何比较两个时间戳以查看一个时间戳是否晚了超过特定的分钟数?

  28. 28

    如何仅比较小时内的两个时间对象

  29. 29

    如何比较值是否在范围内?

热门标签

归档