Java Date 类操作:加减运算、年月日调整
版权申诉
61 浏览量
更新于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。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-06-03 上传
2012-10-09 上传
2012-02-13 上传
2023-06-14 上传
2020-09-02 上传
2012-08-21 上传
weixin_38715567
- 粉丝: 4
- 资源: 884
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析