1. LocalDateTime API
1.1 基础方法
public static LocalDateTime now ( ) 获取当前的日期时间。
public static LocalDateTime of ( int year, int month, int dayOfMonth, int hour, int minute, int second)
获得指定年,月,日,时,分、秒的LocalDateTime 实例,将纳秒设置为零。
month:取值1 - 12 ,12 表示12 月。
dayOfMonth:取值1 - 31 ,31 表示31 日。
hour:取值0 - 23 。
minute:取值0 - 59 。
second:取值0 - 59 。
public LocalDate toLocalDate ( ) 获取这个日期时间的LocalDate 部分。
public LocalTime toLocalTime ( ) 获取此日期时间的LocalTime 部分。
public int getYear ( ) 获取年份字段int 值。
public int getMonthValue ( ) 获取月份字段int 值,从1 到12 。
public int getDayOfMonth ( ) 获取月中day字段int 值,从1 到31 。
public int getDayOfYear ( ) 获取年中day字段int 值,从1 到365 ,或闰年366 。
public int getHour ( ) 获取时间字段,从0 到23 。
public int getMinute ( ) 获取小时字段,从0 到59 。
public int getSecond ( ) 获得秒的字段,从0 到59 。
public DayOfWeek getDayOfWeek ( ) 获取星期几字段,从1 到7 ,1 为周一。
1.2 日期增减
public LocalDateTime plusYears ( long years) 返回此LocalDateTime 的副本,添加年,years可为负数。
public LocalDateTime minusYears ( long years) 返回此LocalDateTime 的副本,减去年,years可为负数。
示例:
LocalDateTime ldt = LocalDateTime . of ( 2008 , 2 , 29 , 23 , 59 , 59 ) ;
DateTimeFormatter format = DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ;
String ldtStr = ldt. format ( format) ;
ldt = ldt. plusYears ( 1 ) ;
ldtStr = ldt. format ( format) ;
2008 - 02 - 29 (闰年)加上一年将导致无效日期2009 - 02 - 29 ,结果会选择最后一个有效日期2009 - 02 - 28 返回。
注:月、日、时、分、秒的增减与年都一致。
1.3 日期变更
public LocalDateTime withYear ( int year)
返回此年份变更的LocalDateTime 的副本。如果日期无效,它将被更改为该月的最后一个有效日期。
注:月、日、时、分、秒的变更与年类似。
1.4 日期比较
public int compareTo ( ChronoLocalDateTime < ? > other) 将此日期时间与其他日期时间进行比较。
LocalDate a = LocalDate . of ( 2019 , 8 , 5 ) ;
LocalDate b = LocalDate . of ( 2019 , 8 , 1 ) ;
LocalDate c = LocalDate . of ( 2019 , 8 , 8 ) ;
a. compareTo ( a) ;
a. compareTo ( b) ;
a. compareTo ( c) ;
public boolean isAfter ( ChronoLocalDateTime < ? > other) 检查此日期时间是否在指定的日期之后。
public boolean isBefore ( ChronoLocalDateTime < ? > other) 检查此日期时间是否在指定的日期时间之前。
public boolean isEqual ( ChronoLocalDateTime < ? > other) 检查此日期时间是否等于指定的日期时间。
1.5 字符串与日期转换
1. 日期转换为字符串
LocalDateTime now = LocalDateTime . now ( ) ;
DateTimeFormatter format = DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ;
String nowStr = now. format ( format) ;
2. 字符串转换为日期
String dateStr = "2019-08-01 14:28:58" ;
DateTimeFormatter formatter = DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ;
LocalDateTime date = LocalDateTime . parse ( dateStr, formatter) ;