Java基础篇——Java8 DateTime操作总结

1,144 阅读1分钟


前言

之前学习过Java老牌的Date,Calender,后来Jdk8又出了新的LocalTime,学来学去混淆了,今天来总结一下Java8的常用的时间日期操作,下次忘记也方便翻阅。😐


获取时间&日期

LocalDate   LocalTime   LocalDateTime

获取当天日期

LocalDate只包含日期 2020-12-12,不包含时间 10:10:10

LocalDate date = LocalDate.now();

构造指定日期

LocalDate date = LocalDate.of(2000, 1, 1);

获取年月日信息

LocalDate date = LocalDate.now();
date.getYear()  获取年份
date.getMonthValue()  获取月份
date.getDayOfMonth()  获取本月第几日

获取时间信息

LocalTime time = LocalTime.now();

构造指定时间

LocalTime.of(12, 13, 13);

获取时分秒信息

LocalTime localTime = LocalTime.of(12, 13, 13);
localTime.getHour();
localTime.getMinute();
localTime.getSecond();


时间计算&比较

日期时间增加

// 调整时间 
LocalTime time = LocalTime.now();  
time.plusHours(2);
time.minusHours(3)
.......


日期时间比较

Java8提供了isAfter()、isBefore()用于判断当前日期时间和指定日期时间的比较

// LocalDate
LocalDate now = LocalDate.now();     
LocalDate date1 = LocalDate.of(2020, 1, 1);
now.isAfter(date1);
now.isBefore(date1);
// LocalTime
.............
// LocalDateTime
.............


格式化

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        
// 日期时间转字符串
LocalDateTime now = LocalDateTime.now();
String nowToString = now.format(formatter);
   
        
// 字符串转日期时间
String datetimeString = "1999-12-31 23:59:59";
LocalDateTime datetime = LocalDateTime.parse(datetimeText, formatter);
        

对比1.8以前的格式转换

//使用Date和SimpleDateFormat
// Date转String
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
String formatString = simpleDateFormat.format(new Date());

// String 转 Date
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = simpleDateFormat.parse("2017-12-03 10:15:30");


后续补充 <(_ _)>