JAVA:旧版日期类 Date与 java8新日期时间类讲解
一、旧版java.util.Date
虽然java8新增了时间日期类,但是考虑到很大一部分之前编写的程序依然在使用着老式的date类,在简单说下date日期时间类。当然在java8之前的与日期时间相关的类还有许多。
public static void main(String[] args) throws Exception {
// 创建date对象,得到一个可以精确到毫秒级的当前计算机日期时间实例
Date date = new Date();// 打印结果:Wed Jul 15 21:41:14 CST 2020
// 得到一个Long类型的时间戳,已毫秒计算。
Long time = date.getTime();// 打印结果1594820665000
// 可以通过一个Long类型时间戳得到一个Date类
date.setTime(15948206650000L);// 打印date结果:Sun May 19 01:24:10 CST 2475
// 创建一个指定日期时间类
Date date2 = new Date(15948106650000L);
// 打印结果:指定时间为:Fri May 17 21:37:30 CST 2475
System.out.println("指定时间为:" + date2);
// 格式化时间、
DateFormat df = new SimpleDateFormat();
// 打印结果:75-5-17 下午9:37
System.out.println(df.format(date2));
// 自定义格式化时间
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 打印结果:2475-05-17 21:37:30
System.out.println(df.format(date2));
// 将一个时间的字符串转为Date类
String dateStr = "2020年01月01号 11点11分11秒";
DateFormat df2 = new SimpleDateFormat("yyyy年MM月dd号 HH点mm分ss秒");
Date date3 = df2.parse(dateStr);
// 打印date3结果:Wed Jan 01 11:11:11 CST 2020
System.out.println("字符串转Date:" + date3);
}
二、java8新增日期时间类
public static void main(String[] args) {
// 获取默认日历对象
Calendar calendar01 = Calendar.getInstance();
// 设置日历日期
calendar01.set(2018, 7, 17);
// 通过日历获取Date对象
Date date01 = calendar01.getTime();
System.out.println(date01);
// ------新版JAVA8_日期类------
// 使用now方法获取LocalDate日期对象
LocalDate date02 = LocalDate.now();
System.out.println(date02);
//使用of()方法获取自定义日期LocalDate对象
LocalDate date03 = LocalDate.of(2000, 1, 1);
System.out.println(date03);
//使用LocalTime的now方法获取当前时间
LocalTime time01 = LocalTime.now();
System.out.println(time01);
//使用of获取自定义时间
LocalTime time02 = LocalTime.of(15, 15);
System.out.println(time02);
//获取自定义的LocalDateTime对象
LocalDateTime dateTime01 = LocalDateTime.of(1999,9,9,9,9,9);
System.out.println(dateTime01);
//格式化时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH点mm分ss秒");
String txt01 = dateTime01.format(formatter);
System.out.println(txt01);
}