java8 时间 LocalDateTime常用方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/fengdong1996/article/details/84796995
方法 说明
获取月份 getMonthValue()(数字) 12
获取月份 getMonth()(英文) DECEMBER
获取小时 getHour() 18
获取分钟 getMinute() 57
获取当前时间月份的第几天 getDayOfMonth() 4
获取当前周的第几天 getDayOfWeek() TUESDAY
获取当前时间在该年属于第几天 getDayOfYear() 338
获取时间 toLocalTime() 18:57:14.098
获取日期 toLocalDate() 2018-12-04
字符串表示 toString() 2018-12-04T18:57:14.098
A在B之后 A.isAfter(B) true/false
A在B之前 A.isBeforer(B) true/false

LocalDateTime time = LocalDateTime.now();

 time.toString(); //字符串表示-----------------------------------2018-12-04T18:57:14.098
 time.toLocalTime(); //获取时间(LocalTime)------------------------------------18:57:14.098
 time.toLocalDate(); //获取日期(LocalDate)--------------------------------------2018-12-04
 time.getDayOfMonth(); //获取当前时间月份的第几天--------------------------------4
 time.getDayOfWeek();  //获取当前周的第几天----------------------------------TUESDAY
 time.getDayOfYear();  //获取当前时间在该年属于第几天-----------------------------338
 time.getHour();//获取小时--------------------------------------------18
 time.getMinute();//获取分钟-------------------------------------------57
 time.getMonthValue();//获取月份(数字)-----------------------12
 time.getMonth();//获取月份(英语)--------------------DECEMBER

日期字符格式化

//localDdate格式为字符串
    DateTimeFormatter dfr = DateTimeFormatter.ofPattern("YYYY/MM/dd HH:mm:ss");
    System.out.println(time.format(df));
    
//字符串格式为localDdate
    DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    System.out.println(LocalDate.parse("2018-10-10", df)));
    
//localDdateTime格式为字符串
 DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 time.format(df)----------------------------2018-12-04 18:57:14
 
 //字符型格式化为LocalDateTime
 DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:");
 LocalDateTime.parse("2018-10-10", df);------------------------2018-12-04T18:57:14

构造时间

 LocalDateTime startTime = LocalDateTime.of(2018, 1, 1, 20, 31, 20);

比较时间

 time.isAfter(startTime);//之后----------------------------true    
 time.isBefore(endTime);//之前---------------------------false

时间运算,相加相减

 time.plusYears(2); //加2年----------------------------2020-12-04T18:57:14.098
 time.minusYears(2); //减两年-------------------------2016-12-04T18:57:14.098
 time.plusDays(2); //加两天----------------------------2018-12-06T18:57:14.098
 time.minusDays(2); //减两天--------------------------2018-12-02T18:57:14.098

获取毫秒数(使用Instant)

 time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();------1543921034098

获取秒数(使用Instant)

 time.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();-----1543921034

猜你喜欢

转载自blog.csdn.net/fengdong1996/article/details/84796995