Java Date类的用法(附带实例)
在实际开发中,经常会用到日期、时间,同时还需要对日期、时间进行处理,Java 提供了多个类来处理日期和时间,其中就包括本节要讲的 Date 类。
Date 类用来表示日期时间,位于 java.util 包中。
接下来,通过案例来演示 Date 类构造方法的使用:
接下来,通过案例来演示 Date 类的常用方法:
Date 类用来表示日期时间,位于 java.util 包中。
1) 创建Date对象
Date 类有很多构造方法,其中大部分都已经不推荐使用,下表列出了目前最常用的两种。方法 | 方法描述 |
---|---|
Date() | 创建一个 Date 对象,并且初始值为系统当前日期 |
Date(long date) | 创建一个 Date 对象,参数为指定时间距标准基准时间的毫秒数 |
接下来,通过案例来演示 Date 类构造方法的使用:
import java.util.Date; public class Demo { public static void main(String[] args) { Date date = new Date(); System.out.println(date); long dateLong = System.currentTimeMillis(); // 获取当前时间距标准基准时间的毫秒数 Date date2 = new Date(dateLong); System.out.println(date2); } }程序的运行结果如下:
Thu Apr 10 03:28:39 UTC 2025
Thu Apr 10 03:28:39 UTC 2025
System.currentTimeMillis() 方法可用来获取系统当前时间距离标准基准时间(1970-01-01 00:00:00)的毫秒数。
Java Date类的常用方法
在实际开发中,使用日期的地方一般都会涉及日期的操作,如日期的对比、获取年、获取月等。Date 类提供了很多相关的方法,其中大部分已经被其他日期类及其相关方法所取代,目前还比较常用的方法如下表所示。方法 | 方法描述 |
---|---|
boolean after(Date when) | 判断当前日期对象是否在指定日期 when 之后 |
boolean before(Date when) | 判断当前日期对象是否在指定日期 when 之前 |
long getTime() | 获取自 1970-01-01 00:00:00 到当前日期对象的毫秒数 |
void setTime(long time) | 设置当前 Date 对象的日期值,参数为毫秒数 |
接下来,通过案例来演示 Date 类的常用方法:
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo { public static void main(String[] args) { String birth1 = "1990-01-01"; String birth2 = "1990-02-01"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); try { Date birthDate1 = format.parse(birth1); // 字符串birth1转换成日期 Date birthDate2 = format.parse(birth2); // 字符串birth2转换成日期 boolean after = birthDate1.after(birthDate2); boolean before = birthDate1.before(birthDate2); // 1月1日在2月1日前面,因此为false System.out.println("1.1 after 2.1比较结果为:" + after); // 1月1日在2月1日前边,因此为true System.out.println("1.1 before 2.1比较结果为:" + before); System.out.println("获取所经历的毫秒值:" + birthDate1.getTime()); } catch (ParseException e) { e.printStackTrace(); } } }程序的运行结果如下:
标准输出:1.1 after 2.1比较结果为:false
1.1 before 2.1比较结果为:true
获取所经历的毫秒值:631152000000