欢迎访问宙启技术站
智能推送

详解Java中Date类及相关函数的用法和示例代码

发布时间:2023-06-20 04:00:41

Java中的Date类是一个比较基础的日期类,用于表示日期和时间。Date类中包含了一系列的函数,可以帮助我们对日期和时间进行各种处理和转化。下面为大家详细介绍Java中Date类的用法及相关函数的示例代码:

1. Date类的构造方法

Date类有多个构造方法,其中比较常用的有:

① Date():创建一个当前日期和时间的Date对象。

② Date(long date):创建一个给定毫秒数的Date对象。

下面是两个示例代码:

//方法一:
Date date1 = new Date();
System.out.println(date1);   //输出当前日期和时间

//方法二:
Date date2 = new Date(1563161225000L);   //毫秒数要加“L”
System.out.println(date2);   //输出2019年7月15日 13:13:45

2. Date类的常用方法

① getTime():获取Date对象的毫秒数。

② before(Date when):判断当前Date对象的时间是否早于when指定的时间(when要求也是Date类型)。

③ after(Date when):判断当前Date对象的时间是否晚于when指定的时间(when要求也是Date类型)。

④ compareTo(Date anotherDate):比较当前Date对象和另一个指定Date对象的时间大小。如果当前Date对象在另一个指定Date对象之前,则返回-1;如果相等,则返回0;否则返回1。

下面是四个示例代码:

//方法一:
Date date = new Date();
long t = date.getTime();   //获取毫秒数
System.out.println(t);   //输出:1585267530607

//方法二:
Date date1 = new Date();
Date date2 = new Date(1563161225000L);
boolean before = date1.before(date2);
System.out.println(before);   //输出:false

//方法三:
Date date3 = new Date();
Date date4 = new Date(1563161225000L);
boolean after = date3.after(date4);
System.out.println(after);   //输出:true

//方法四:
Date date5 = new Date();
Date date6 = new Date(1563161225000L);
int result = date5.compareTo(date6);
System.out.println(result);   //输出:1

3. SimpleDateFormat类

SimpleDateFormat类是Java中的一个日期格式化类,用于将Date对象进行各种格式化。下面是一个示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
Date date = new Date();
String str = sdf.format(date);
System.out.println(str);   //输出:2020年03月26日 22时44分04秒

4. Calendar类

Calendar类是Java中的一个日期和时间类,它能够对日期和时间进行更精细的操作。常用方法如下:

① get(int field):获取某个时间单位的值,如年、月、日等。

② set(int field, int value):设置某个时间单位的值,如年、月、日等。

③ add(int field, int amount):将某个时间单位加上或减去一定的值,如年、月、日等。

下面是一个示例代码:

Calendar calendar = Calendar.getInstance();   //获取当前的日期和时间
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;   //注意月份从0开始计算,所以要加1
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year + "年" + month + "月" + day + "日 " + hour + "时" + minute + "分" + second + "秒");