首页 > 技术文章 > LocalDateTime常用API

lukazan 2021-08-10 15:53 原文

1、获取LocalDateTime实例

  • public static LocalDateTime now():从指定时区的系统时钟获取当前的日期时间。
  • public static LocalDateTime now(Clock clock) 从指定的时钟获取当前的日期时间,clock不能为空。
  • public static LocalDateTime of(LocalDate date, LocalTime time)从日期和时间获取一个 LocalDateTime的实例。
  • public static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second) 从年,月,日,小时,分钟和秒获得LocalDateTime的实例,将纳秒设置为零。
    • year - 从默认的 MIN_YEAR到 MAX_YEAR 的年份  
    • month - 代表月份的1-12,不为空
    • dayOfMonth - 代表月份中1-31,以月份中天数大小为准。
    • hour - 从0到23的小时。
    • minute - 从0到59的分钟。
    • second - 从0到59的秒其他的同上

 2、获取年月日信息

  • public int getDayOfYear() 获得日期字段  (获得是年份中的第几天) 例如 2020/12/3 获得2020的第338天。
  • public int getDayOfMonth() 获取月份字段 (获取月份中的第几天) 例如 2020/12/3 获得12月的第3天。
  • public DayOfWeek getDayOfWeek()获取星期几字段,这是一个枚举DayOfWeek 。(获得整个星期的星期几)例如 2020/12/3 获得这周的星期四。
  • public int getYear()获取年份字段。
  • public Month getMonth()使用Month枚举获取月份字段(获得不是数组而是英文单词)。
  • public int getHour()获取时间字段。
  • public int getMinute()获取分钟字段。
  • public int getSecond() 获得第秒的字段。

 3、修改时间

  • public LocalDateTime withYear(int year)返回此年份变更的LocalDateTime的副本。 时间不影响计算,结果将相同。 如果一年中的日期无效,它将被更改为该月的最后一个有效日期。
  • public LocalDateTime withMonth(int month)返回此年份更改的LocalDateTime的副本。 时间不影响计算,结果将相同。 如果一年中的日期无效,它将被更改为该月的最后一个有效日期。
  • public LocalDateTime withDayOfMonth(int dayOfMonth)返回这个LocalDateTime的副本,并更改日期。 如果结果LocalDateTime无效,则会抛出异常。 时间不影响计算,结果将相同。
  • public LocalDateTime withDayOfYear(int dayOfYear)返回此LocalDateTime的副本。 如果得到LocalDateTime是无效的,则抛出异常。
  • public LocalDateTime withHour(int hour)返回此日期值更改的LocalDateTime的副本。
  • public LocalDateTime withMinute(int minute)返回这个LocalDateTime的副本,小时值更改。
  • public LocalDateTime withSecond(int second)返回这个LocalDateTime的副本,并更改秒数值。

 4、增加时间

  • public LocalDateTime plusYears(long years)返回这个LocalDateTime的副本,并以指定的时间段添加。
    该方法通过三个步骤将指定的数量添加到年份字段:
    • 将输入年份添加到年份字段
    • 检查结果日期是否无效
    • 如果有必要,将月份调整到最后一个有效日期
      例如,2008-02-29(闰年)加上一年将导致无效日期2009-02-29(标准年)。 而不是返回无效结果,而是选择2009-02-28的最后一个有效日期。
  • public LocalDateTime plusMonths(long months)返回这个LocalDateTime的副本,其中指定的时间段以月为单位。
    此方法通过三个步骤将指定的数量添加到月份字段:
    • 将输入的月份添加到月份字段
    • 检查结果日期是否无效
    • 如果有必要,将月份调整到最后一个有效日期
    • 例如,2007-03-31加上一个月将导致无效日期2007-04-31。 而不是返回无效结果,而是选择2007-04-30的最后一个有效日期。
  • public LocalDateTime plusWeeks(long weeks)返回这个LocalDateTime的副本,其中指定的周期以周为单位。
    • 该方法将指定的数量以周为单位,根据需要增加月份和年份字段的日期字段,以确保结果保持有效。 如果超过最大/最小年份,结果将无效。
    • 例如,2008-12-31加上一周将导致2009-01-07。
  • public LocalDateTime plusDays(long days)返回此LocalDateTime的指定期间的LocalDateTime的副本。
    • 此方法将指定的金额添加到天数字段中,根据需要增加月份和年份字段,以确保结果保持有效。 如果超过最大/最小年份,结果将无效。
    • 例如,2008-12-31加上一天会导致2009-01-01。
  • public LocalDateTime plusHours(long hours)以指定的时间段返回此LocalDateTime的副本,小时数。
  • public LocalDateTime plusMinutes(long minutes)以指定的时间(以分钟为单位)返回此LocalDateTime的副本。
  • public LocalDateTime plusSeconds(long seconds)返回此副本LocalDateTime在加秒的规定时间。

 5、减少时间

  • public LocalDateTime minusYears(long years)返回此LocalDateTime的副本,以减去的年份为单位。
    该方法从三个步骤中减去指定的数量:
    • 从年度字段减去输入年数
    • 检查结果日期是否无效
    • 如果有必要,将月份调整到最后一个有效日期
    • 例如,2008-02-29(闰年)减去一年将导致无效日期2009-02-29(标准年)。 而不是返回无效结果,而是选择2009-02-28的最后一个有效日期。
  • public LocalDateTime minusMonths(long months)返回此LocalDateTime的副本,指定的时间以月为单位减去。
    该方法从以下三个步骤中减去月份字段中指定的数量:
    • 从月份字段减去输入月份
    • 检查结果日期是否无效
    • 如果有必要,将月份调整到最后一个有效日期
    • 例如,2007-03-31减去一个月将导致无效日期2007-04-31。 而不是返回无效结果,而是选择2007-04-30的最后一个有效日期。
  • public LocalDateTime minusWeeks(long weeks)返回此LocalDateTime一个副本,以指定的周期扣除。
    • 该方法从必要的日期字段减去月和年字段中减去指定的数量,以确保结果保持有效。 如果超过最大/最小年份,结果将无效。
    • 例如,2009-01-07减去一周将导致2008-12-31。
  • public LocalDateTime minusDays(long days)返回此LocalDateTime的副本,其中指定的时间间隔以天为单位。
    • 该方法从天数字段减去指定数量,根据需要增加月份和年份字段,以确保结果保持有效。 如果超过最大/最小年份,结果将无效。
    • 例如,2009-01-01减去一天会导致2008-12-31。
  • public LocalDateTime minusHours(long hours)以指定的时间段返回此LocalDateTime的副本,以减少的小时数。
  • public LocalDateTime minusMinutes(long minutes)返回此LocalDateTime的副本,其中指定的时间间隔以分钟为单位。
  • public LocalDateTime minusSeconds(long seconds)返回此LocalDateTime的副本,其中指定的时间间隔以秒为单位。

 6、其他

  • public String format(DateTimeFormatter formatter)使用指定的格式化程序格式化此日期时间。这个日期时间将传递给格式化程序以生成一个字符串。
  • public static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter)使用特定的格式化LocalDateTime从文本字符串获取LocalDateTime的实例。
  • public boolean isBefore(ChronoLocalDateTime<?> other) 检查此日期时间是否在指定的日期时间之前
  • public boolean isAfter(ChronoLocalDateTime<?> other)检查这个日期时间是否在指定的日期之后。
  • public boolean equals(Object obj) 检查这个日期时间是否等于另一个日期时间。
  • public boolean isEqual(ChronoLocalDateTime<?> other)检查此日期时间是否等于指定的日期时间。
  • public String toString()将此日期时间输出为String,如2007-12-03T10:15:30。
  • public LocalDateTime truncatedTo(TemporalUnit unit):根据unit单位截断时间

推荐阅读