java中LocalDate、Calendar、Date类型进行加减

您所在的位置:网站首页 当前日期加上三年后日期 java中LocalDate、Calendar、Date类型进行加减

java中LocalDate、Calendar、Date类型进行加减

2024-05-02 20:58| 来源: 网络整理| 查看: 265

java三种类型的加减,LocalDate、Calendar、Date

@

目录1.LocalDate类型加减:2.Calendar加减:3.Date类型加减

1.LocalDate类型加减:

以下是LocalDate类进行日期加减:

import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class DateDemo{ public static void main(String[] args) { //获取当前日期 LocalDate currentDate = LocalDate.now(); System.out.println("当前日期是: " + currentDate); //加上10天 LocalDate tenDaysLater = currentDate.plusDays(10); System.out.println("加上10天后的日期是: " + tenDaysLater); //减去2个月 LocalDate twoMonthsAgo = currentDate.minus(2, ChronoUnit.MONTHS); System.out.println("减去2个月后的日期是: " + twoMonthsAgo); } }

运行结果:

当前日期是: 2023-11-23 加上10天后的日期是: 2023-12-03 减去2个月后的日期是: 2023-09-23

可以看到,使用LocalDate类进行加减操作代码比较简洁清晰,也更易读易懂。

2.Calendar加减:

Java中的Calendar类提供了许多方法用于对日期和时间进行加减操作。以下是一些常用的方法:

add(int field, int amount): 对指定字段加上或减去指定的时间量,如Calendar.YEAR, Calendar.MONTH, Calendar.DATE等。

例如,下面的代码将当前日期上进行加减:

import java.util.Calendar; public class DateCalculator { public static void main(String[] args) { // 获取当前日期 Calendar calendar = Calendar.getInstance(); System.out.println("当前日期:" + calendar.getTime()); // 加上3天 calendar.add(Calendar.DATE, 3); System.out.println("加上3天后:" + calendar.getTime()); // 减去1个月,需要注意的是,由于Calendar类的月份从0开始,因此加减月份时需要注意月份的计算。 calendar.add(Calendar.MONTH, -1); System.out.println("减去1个月后:" + calendar.getTime()); // 加上2年 calendar.add(Calendar.YEAR, 2); System.out.println("加上2年后:" + calendar.getTime()); } }

输出结果:

当前日期:Thu Nov 23 10:42:18 CST 2023 加上3天后:Sun Nov 26 10:42:18 CST 2023 减去1个月后:Thu Oct 26 10:42:18 CST 2023 加上2年后:Sun Oct 26 10:42:18 CST 2025 3.Date类型加减

Date类型在java 8中已经废弃,需要转换为Calendar类型进行加减。

转换Calendar类加减时间:

// 创建Calendar对象 Calendar calendar = Calendar.getInstance(); //创建Date类型默认时间 Date date = new Date(); System.out.println("加减前的日期:"+date); //将Date类型转换为Calendar类型 calendar.setTime(date); // 加上一小时 calendar.add(Calendar.HOUR_OF_DAY, 1); // 减去一天 calendar.add(Calendar.DAY_OF_MONTH, -1); // 获取加减后的日期 date = calendar.getTime(); System.out.println("加减后的日期:"+date);

运行结果:

加减前的日期:Thu Nov 23 11:02:55 CST 2023 加减后的日期:Wed Nov 22 12:02:55 CST 2023

在这个例子中,我们使用了Calendar类进行日期的加减操作。我们首先创建了一个Calendar对象,并通过setTime()方法设置日期,然后使用add()方法加减日期,最后使用getTime()方法获取加减后的日期。

值得注意的是,Calendar类中有很多常量可以用来表示不同的时间单位,如HOUR_OF_DAY代表小时,DAY_OF_MONTH代表日,等等。

总的来说,使用Date类和Calendar类进行日期加减操作是非常灵活和方便的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3