Java中时间函数的使用-详解Calendar和Date类函数的应用!
在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类函数,并且详细地说明了它们的应用方法。学习和掌握这些时间函数的使用方法,对于开发高质量和高效率的应用程序将是非常有帮助的。
