模块 wjybxx.base

类 TimeHelper

java.lang.Object
cn.wjybxx.base.time.TimeHelper

@Immutable public final class TimeHelper extends Object
主要封装与时区相关的方法
作者:
wjybxx date 2023/4/1
  • 字段详细资料

    • SYSTEM

      public static final TimeHelper SYSTEM
      系统时区对应的辅助类实例
  • 方法详细资料

    • of

      public static TimeHelper of(ZoneOffset zoneOffset)
    • getZoneOffset

      public ZoneOffset getZoneOffset()
      获取时区偏移
    • getOffsetSeconds

      public long getOffsetSeconds()
      获取时区的秒偏移量
    • getOffsetMillis

      public long getOffsetMillis()
      获取时区的毫秒偏移量
    • toEpochMillis

      public long toEpochMillis(LocalDateTime localDateTime)
      LocalDateTime转换为时区无关的毫秒时间戳。 注意:如果不是该类返回的LocalDateTime,则可能在时区上出现故障。
    • toLocalEpochDay

      public int toLocalEpochDay(long epochMilli)
      计算在本地时区下的纪元天数
      参数:
      epochMilli - 毫秒时间
      返回:
      本地时区下的天数
    • toLocalDateTime

      public LocalDateTime toLocalDateTime(long epochMilli)
      将毫秒时间转换为LocalDateTime
      参数:
      epochMilli - 毫秒时间
      返回:
      LocalDateTime
    • toLocalDateTimeIgnoreMs

      public LocalDateTime toLocalDateTimeIgnoreMs(long epochMilli)
      将毫秒时间转换为LocalDateTime,并忽略毫秒。
      参数:
      epochMilli - 毫秒时间
      返回:
      LocalDateTime
    • formatTime

      public String formatTime(long epochMilli)
      将 毫秒时间 格式化为 默认字符串格式TimeUtils.DEFAULT_PATTERN
      参数:
      epochMilli - 毫秒时间
      返回:
      格式化后的字符串表示
    • formatTime

      public String formatTime(long epochMilli, DateTimeFormatter formatter)
      将 毫秒时间 格式化为 指定格式
      参数:
      epochMilli - 毫秒时间
      formatter - 时间格式器
      返回:
      格式化后的字符串表示
    • parseTimeMillis

      public long parseTimeMillis(String dateString)
      解析为毫秒时间戳
      参数:
      dateString - TimeUtils.DEFAULT_PATTERN格式的字符串
      返回:
      milli
    • parseTimeMillis

      public long parseTimeMillis(String dateString, DateTimeFormatter formatter)
      解析为毫秒时间戳
      参数:
      dateString - TimeUtils.DEFAULT_PATTERN格式的字符串
      返回:
      milli
    • getTimeHourOfToday

      public long getTimeHourOfToday(long epochMilli, int hour)
      获取当天特定小时的时间戳
    • getTimeBeginOfToday

      public long getTimeBeginOfToday(long epochMilli)
      获取指定时间戳所在日期的00:00:00的毫秒时间戳
      参数:
      epochMilli - 指定时间戳,用于确定日期
      返回:
      midnight of special day
    • getTimeEndOfToday

      public long getTimeEndOfToday(long epochMilli)
      获取指定时间戳所在日期的23:59:59的毫秒时间戳
      参数:
      epochMilli - 指定时间戳,用于确定日期
      返回:
      end time of special day
    • getTimeBeginOfWeek

      public long getTimeBeginOfWeek(long epochMilli)
      获取指定时间戳所在周的周一00:00:00的毫秒时间戳
      参数:
      epochMilli - 指定时间戳,用于确定所在的周
    • getTimeEndOfWeek

      public long getTimeEndOfWeek(long epochMilli)
      获取指定时间戳所在周的周日23:59:59.999的毫秒时间戳
      参数:
      epochMilli - 指定时间戳,用于确定所在的周
    • getTimeBeginOfMonth

      public long getTimeBeginOfMonth(long epochMilli)
      获取本月的开始时间戳 本月第一天的 00:00:00.000
    • getTimeEndOfMonth

      public long getTimeEndOfMonth(long epochMilli)
      获取本月的结束时间戳 本月最后一天的23:59:59.999
    • getTimeBeginOfMonth

      public long getTimeBeginOfMonth(long epochMilli, int deltaMonth)
      获取月的开始时间戳
      参数:
      deltaMonth - 月份差值
    • getTimeEndOfMonth

      public long getTimeEndOfMonth(long epochMilli, int deltaMonth)
      获取月的结束时间戳
      参数:
      deltaMonth - 月份差值
    • isSameDay

      public boolean isSameDay(long time1, long time2)
      判断两个时间是否是同一天 (同样的两个时间戳,在不同的时区,结果可能不同)
      参数:
      time1 - 第一个时间戳
      time2 - 第二个时间戳
      返回:
      true/false,如果是同一天则返回true,否则返回false。
    • differDays

      public int differDays(long time1, long time2)
      计算两个时间戳相差的天数
      参数:
      time1 - 第一个时间戳
      time2 - 第二个时间戳
      返回:
      >=0,同一天返回0,否则返回值大于0
    • isSameWeek

      public boolean isSameWeek(long time1, long time2)
      判断两个时间是否是同一周
      参数:
      time1 - 第一个时间戳
      time2 - 第二个时间戳
      返回:
      true/false,如果是同一周则返回true,否则返回false。
    • differWeeks

      public int differWeeks(long time1, long time2)
      计算两个时间戳相差的周数
      参数:
      time1 - 第一个时间戳
      time2 - 第二个时间戳
      返回:
      >=0,同一周返回0,否则返回值大于0
    • toString

      public String toString(LocalDateTime localDateTime)
      组合下来4中格式: yyyy-MM-ddTHH:mm:ssZ yyyy-MM-ddTHH:mm:ss.SSSZ yyyy-MM-ddTHH:mm:ss±HH:mm yyyy-MM-ddTHH:mm:ss.SSS±HH:mm
    • toString

      public static String toString(LocalDate localDate)
      固定格式: yyyy-MM-dd
    • toString

      public static String toString(LocalTime localTime)
      两种格式 HH:mm:ss HH:mm:ss.SSS 毫秒数不为0时
    • toString

      public static String toString(ZoneOffset zoneOffset)
      两种格式 Z ±HH:mm