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

Java中时间函数的使用-详解Calendar和Date类函数的应用!

发布时间:2023-06-12 06:09:28

在Java的开发中,时间函数是非常常用的功能。有很多的时间函数可以用来帮助我们实现一些非常有用的功能。这些时间函数包括日期函数、时间函数和日期时间函数。在本文中,我们将详细介绍Java中时间函数的使用,其中包括Calendar和Date类函数的应用。

一、Java时间函数的类型

在Java中,常用的时间函数有三种类型:

1. Date类函数:用于处理日期和时间。

2. Calendar类函数:用于获取和操作日期和时间。

3. SimpleDateFormat类函数:用于格式化日期和时间。

二、Date类函数的应用

Date类是Java中最早引入的处理日期和时间的类。虽然它的使用还是非常广泛,但是在Java 8之后,官方推荐使用新的时间API。但是在一些老代码中,我们仍然可以看到Date类的应用。

1. Date类的构造函数

可以使用以下两个构造函数来创建Date对象:

(1)Date():创建一个表示当前时间的Date对象。

(2)Date(long date):使用日期来创建一个Date对象。

例如:

Date now = new Date();
System.out.println(now);

Date date = new Date(10000000L);
System.out.println(date);

以上代码将会输出以下结果:

Sat Jul 18 20:32:48 CST 2020

Thu Jan 01 03:19:20 CST 1970

2. Date类的方法

Date类提供了很多方法来处理日期和时间:

(1)getTime():

获取当前Date的时间戳,返回自1970年1月1日00:00:00 UTC以来的毫秒数。

(2)before(Date when):

如果当前的Date对象在when之前,返回true,否则返回false。

(3)after(Date when):

如果当前的Date对象在when之后,返回true,否则返回false。

(4)equals(Object obj):

比较两个Date对象是否相等。

例如:

Date now = new Date();
long time = now.getTime();
System.out.println(time);

Date date1 = new Date(10000000L);
Date date2 = new Date(20000000L);
System.out.println(date1.before(date2)); // true
System.out.println(date2.after(date1));  // true
System.out.println(date1.equals(date2)); // false

以上代码将会输出以下结果:

1595099090981
true
true
false

三、Calendar类函数的应用

Java中的Calendar类是一个单例类,它提供了处理日期和时间的方法。Calendar提供了一般的日期字段(年、月、日、时、分、秒、毫秒)和设置这些字段的方法。

1. Calendar类的获取

可以通过以下方式获取Calendar类的实例:

(1)Calendar cal = Calendar.getInstance():创建一个默认时区的Calendar对象。

(2)Calendar cal = Calendar.getInstance(TimeZone timezone):指定时区创建一个Calendar对象。

例如:

Calendar cal1 = Calendar.getInstance();
System.out.println(cal1.getTime());

TimeZone timeZone = TimeZone.getTimeZone("GMT+8");
Calendar cal2 = Calendar.getInstance(timeZone);
System.out.println(cal2.getTime());

以上代码将会输出以下结果:

Sat Jul 18 20:52:28 CST 2020
Sun Jul 19 08:52:28 CST 2020

2. Calendar类的常用方法

Calendar类提供了一些常用的方法来处理日期和时间:

(1)get(int field):

获取指定字段的值。

(2)set(int field, int value):

设置指定字段的值。

(3)add(int field, int amount):

将指定字段的值加上指定的值。

(4)getTime():

获取Calendar表示的日期。

例如:

Calendar cal = Calendar.getInstance();
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH) + 1);
System.out.println(cal.get(Calendar.DATE));
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
System.out.println(cal.get(Calendar.MINUTE));
System.out.println(cal.get(Calendar.SECOND));

cal.set(Calendar.YEAR, 2022);
System.out.println(cal.get(Calendar.YEAR));

cal.add(Calendar.YEAR, 1);
System.out.println(cal.get(Calendar.YEAR));

System.out.println(cal.getTime());

以上代码将会输出以下结果:

2020
7
18
20
53
55
2022
2023
Sun Jul 18 20:53:55 CST 2023

四、SimpleDateFormat类函数的应用

SimpleDateFormat类用于格式化日期和时间的类。它提供了很多方法来格式化日期和时间。其中,常用的方法是format和parse方法。

1. SimpleDateFormat类的获取

可以通过以下方式获取SimpleDateFormat类的实例:

(1)SimpleDateFormat sdf = new SimpleDateFormat(String pattern):创建一个指定格式的SimpleDateFormat对象。

例如:

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf1.format(new Date()));

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
System.out.println(sdf2.format(new Date()));

以上代码将会输出以下结果:

2020-07-18 21:01:57
2020年07月18日 Sat 09:02:06

2. SimpleDateFormat的方法

SimpleDateFormat类提供了两个主要的方法:format()和parse()。其中,format方法用于将指定的日期格式化为指定的格式,而parse方法则用于将指定格式的字符串转换为Date对象。

例如:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
// 将字符串转为Date对象
Date date = sdf.parse("2020年07月18日 21:06:12");
System.out.println(date);

// 将Date对象格式化为指定格式的字符串
System.out.println(sdf.format(date));

以上代码将会输出以下结果:

Sat Jul 18 21:06:12 CST 2020
2020年07月18日 21:06:12

五、总结

时间函数在Java的开发中非常常用。本文介绍了三种时间函数类型:Date、Calendar和SimpleDateFormat类函数,并且详细地说明了它们的应用方法。学习和掌握这些时间函数的使用方法,对于开发高质量和高效率的应用程序将是非常有帮助的。