Java Date 类操作:加减运算、年月日调整
版权申诉
84 浏览量
更新于2024-09-11
收藏 55KB PDF 举报
"Java对日期Date类的加减运算、年份与月份的加减以及计算时间差的方法"
在Java编程中,处理日期和时间是非常常见的任务。Java提供了多种类来处理日期,其中Date类是最基础的一个。在给定的描述和代码中,主要涉及到对Date类的加减运算,包括年份、月份的加减,以及计算时间差。下面将详细介绍这些操作的实现方式。
首先,我们来看第一段代码,它使用了`Calendar`类来对Date对象进行加减运算。`Calendar`是Java中一个非常强大的日历类,可以方便地对日期进行各种操作。这段代码创建了一个`SimpleDateFormat`对象用于日期的格式化,然后解析了一个字符串到Date对象。接着,通过`Calendar.getInstance()`获取了当前的Calendar实例,并设置了Date对象。之后,使用`Calendar.add()`方法对年份、月份和日期进行加减,这里的第二个参数是整数值,正数表示增加,负数表示减少。最后,获取修改后的日期并打印。
代码示例:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTestUtil {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String str = "20110823";
Date dt = sdf.parse(str);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR, -1); // 日期减1年
rightNow.add(Calendar.MONTH, 3); // 日期加3个月
rightNow.add(Calendar.DAY_OF_YEAR, 10); // 日期加10天
Date dt1 = rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
}
}
```
另一段代码展示了如何直接通过Date对象进行天数的加减,这里使用了两种不同的方法:一种是通过`getTime()`和`setTime()`方法结合,另一种是通过`Calendar`类。在`addAndSubtractDaysByGetTime()`方法中,计算出指定天数后的新毫秒值,然后设置回Date对象。而在`addAndSubtractDaysByCalendar()`方法中,同样创建`Calendar`对象进行操作。
代码示例(部分):
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest {
public static void main(String[] arg) {
Date now = new Date();
addAndSubtractDaysByGetTime(now, -5);
addAndSubtractDaysByGetTime(now, 5);
addAndSubtractDaysByCalendar(now, -5);
addAndSubtractDaysByCalendar(now, 5);
}
public static void addAndSubtractDaysByGetTime(Date date, int days) {
long time = date.getTime() + days * 24 * 60 * 60 * 1000L;
date.setTime(time);
}
public static void addAndSubtractDaysByCalendar(Date date, int days) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, days);
date = calendar.getTime();
}
}
```
在实际开发中,除了使用基本的Date类和Calendar类,Java 8引入了`java.time`包,提供了更高级、更易用的日期时间API,如`LocalDate`, `LocalDateTime`, `Duration`等,它们可以更直观、简洁地进行日期和时间的加减运算以及时间差的计算。
Java提供了多种处理日期和时间的方式,可以根据具体需求选择合适的方法。在上述例子中,我们学习了如何使用Date和Calendar类进行日期的加减运算,以及年份和月份的调整,这些都是日常编程中经常遇到的操作。对于更复杂的需求,可以考虑使用Java 8的日期时间API。
2018-08-08 上传
2019-08-08 上传
2023-06-03 上传
2023-05-17 上传
2023-08-09 上传
2023-04-01 上传
2023-06-07 上传
2023-05-17 上传
weixin_38715567
- 粉丝: 4
- 资源: 884
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦