Java中的时间日期函数:获取当前时间、格式化输出、日期计算
发布时间:2023-06-03 23:54:20
Java是一种面向对象的编程语言,它提供了强大的时间日期函数,用于处理和操作日期和时间。在Java中,我们可以通过Date和Calendar类来实现对时间日期的处理和操作。
1. 获取当前时间
Java中获取当前时间有多种方式,我们可以使用Date类或者Calendar类来获取。
a. 使用Date类
Date类是Java中处理日期和时间的基本类,它可以获取当前时间。如下所示:
Date date = new Date();
System.out.println("当前时间是:" + date);
输出的结果为:
当前时间是:Thu Aug 12 13:58:02 CST 2021
b. 使用Calendar类
Calendar类是Java中用于操作日期和时间的类,它提供了获取当前时间的方法。如下所示:
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
System.out.println("当前时间是:" + date);
输出的结果与使用Date类获取的当前时间相同。
2. 格式化输出时间日期
Java中可以使用SimpleDateFormat类将日期格式化为指定的格式。如下所示:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(date);
System.out.println("格式化后的时间是:" + time);
输出的结果为:
格式化后的时间是:2021-08-12 14:01:52
其中,SimpleDateFormat中的格式化字符含义如下:
|字符|含义|
|-|-|
|y|年份|
|M|月份|
|d|日|
|H|小时(24小时制)|
|h|小时(12小时制)|
|m|分|
|s|秒|
|S|毫秒|
3. 日期计算
在Java中,我们可以使用Calendar类进行日期计算。如下所示:
a. 增加日期
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 1);
Date date = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time = sdf.format(date);
System.out.println("增加1天后的日期:" + time);
输出的结果为:
增加1天后的日期:2021-08-13
b. 减少日期
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
Date date = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time = sdf.format(date);
System.out.println("减少1天后的日期:" + time);
输出的结果为:
减少1天后的日期:2021-08-11
c. 获取两个日期之间的天数
Date date1 = sdf.parse("2021-08-01");
Date date2 = sdf.parse("2021-08-12");
long days = (date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000);
System.out.println("2021-08-01与2021-08-12相差的天数为:" + days);
输出的结果为:
2021-08-01与2021-08-12相差的天数为:11
总结
Java提供了多种处理日期和时间的函数和类,包括获取当前时间、格式化输出和日期计算等。这些函数和类能够满足我们对日期和时间的常规需求。同时,在使用时需要注意格式化字符的含义和使用方式。
