日期格式LocalDateTime
最近做项目时频繁使用对时间进行操作,用的特别不舒服。就发现了我们的主角。自 Java8开始, JDK中其实就增加了一系列表示日期和时间的新类,最典型的就是 LocalDateTime。他的功能完爆老版的Date。
一、获取当前此刻的时间
public class text {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
System.out.println("当前时刻:"+ now);
System.out.println("当前年份:"+ now.getYear());
System.out.println("当前月份:"+ now.getMonth());
System.out.println("当前日份:"+ now.getDayOfMonth());
System.out.println("当前周数:"+ now.getDayOfWeek());
System.out.println("当前时:"+ now.getHour());
System.out.println("当前分:"+ now.getMinute());
System.out.println("当前秒:"+ now.getSecond());
}
}
二、构造一个指定年、月、日的时间:
时间:2020-01-07T14:53:32
LocalDateTime date = LocalDateTime.of(2020, Month.JANUARY, 7, 14, 53, 32);
三、修改日期
public class text {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
System.out.println("时间"+ now);
now = now.minusYears(1);// 减少 1 年
System.out.println("时间"+ now);
now = now.plusMonths(1);// 增加 1 个月
System.out.println("时间"+ now);
now = now.withYear(2021);// 直接修改年份到2021年
System.out.println("时间"+ now);
now = now.withHour(13);//改到中午一点
System.out.println("时间"+ now);
}
}
四、格式化日期
public class text {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
String result1 = now.format(DateTimeFormatter.ISO_DATE);
String result2 = now.format(DateTimeFormatter.BASIC_ISO_DATE);
String result3 = now.format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
System.out.println("(样式一):" + result1);
System.out.println("(样式二):" + result2);
System.out.println("(样式三):" + result3);
}
}
五、时间反解析
public class text {
public static void main(String[] args) {
LocalDateTime time = LocalDateTime.parse("2020---01--07 15:11", DateTimeFormatter.ofPattern("yyyy---MM--dd HH:mm"));
System.out.println("字符串反解析后的时间为:" + time);
}
}