一、Java日期类介绍
Java中的日期类主要有三个:java.util.Date、java.util.Calendar和java.time.LocalDateTime。
java.util.Date表示精确到毫秒的时间点,尽管它的大多数构造方法已在JDK 8中被废弃了。
java.util.Calendar提供了根据时间计算的功能,实现了一种可以对日期进行简单算术操作的抽象方法。
java.time.LocalDateTime是比较新且推荐使用的类,提供了对时间进行各种操作的方法,是Java 8中引入的Java日期/时间API。
二、使用Java.util.Date获取日期
使用Java.util.Date类获取当前日期可以通过以下方式实现:
Date date = new Date(); System.out.println(date);
输出结果类似:Sat May 22 14:44:15 CST 2021
也可以使用java.text.SimpleDateFormat对日期格式进行自定义,例如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = sdf.format(new Date()); System.out.println(date);
输出结果类似:2021-05-22 14:44:15
三、使用Java.util.Calendar获取日期
Java.util.Calendar类提供了一系列方法用于对时间计算,获取当前日期等功能。
以下代码可以获取当前日期
Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; //月份从0开始,所以需要加1 int day = cal.get(Calendar.DAY_OF_MONTH); System.out.println("当前日期:" + year + "-" + month + "-" + day);
输出结果类似:当前日期:2021-5-22
我们可以通过set()方法来设置某个字段的值,例如
cal.set(Calendar.YEAR, 2022); System.out.println("修改后的日期:" + cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH));
输出结果类似:修改后的日期:2022-5-22
四、使用Java.time.LocalDateTime获取日期
Java.time.LocalDateTime是Java 8中引入的Java日期/时间API,提供了对时间进行各种操作的方法,同时也提供了很多新的类来操作日期。
使用Java.time.LocalDateTime获取当前日期的方法如下:
LocalDateTime now = LocalDateTime.now(); System.out.println("当前日期:" + now);
输出结果类似:当前日期:2021-05-22T15:17:14.747
我们可以通过with()方法来修改某个字段的值,例如:
LocalDateTime now = LocalDateTime.now(); LocalDateTime after = now.withYear(2022); System.out.println("修改后的日期:" + after);
输出结果类似:修改后的日期:2022-05-22T15:17:14.747
五、总结
Java中有多种获取日期的方法,可以根据需求选择不同的类和方法。其中,Java.time.LocalDateTime是比较新且推荐使用的类,提供了对时间进行各种操作的方法,是Java 8中引入的Java日期/时间API,使用时需要注意引入相关的类库。