Java日期加减

目录

  • 一、为什么需要使用日期加减?
  • 二、java日期加减使用范围及场景:
  • 三、Java日期加减操作
    • 3.1.使用Calendar
    • 3.2. 使用LocalDate类
    • 3.3使用Date类

前言:
本章内容主要讲的是Date、Calendar、LocalDateTime三种时间类,进行日期之间的运算及使用

一、为什么需要使用日期加减?

  1. 方便:Java提供了丰富的日期类库,可以简化日期操作的实现。
  2. 灵活:Java日期类库支持多种日期格式,可以满足不同场景的需求。
  3. 高效:Java日期类库底层使用了高效的算法,可以提高日期操作的性能。

二、java日期加减使用范围及场景:

① 计算两个日期之间的差值,例如计算年龄、倒计时等。
② 对日期进行修改,例如计算某个日期的前一天或后一天。
③ 对日期进行格式化,例如将日期转换为指定的字符串格式或者时间戳。
④ 对日期进行比较,例如判断两个日期是否相等、哪个日期在前等。

三、Java日期加减操作

Java日期加减可以使用java.util.Calendar类、java.time.LocalDate类、Date类来实现。这里给出三个示例,分别使用Calendar、LocalDate、Date进行日期加减操作。

3.1.使用Calendar

Java Calendar类是Java提供的一个抽象类,用于表示日历系统。它提供了一些方法和变量,可以用于获取和设置日期、时间、年份、月份、星期等。Calendar类是java.util包的一部分,它是java.util.Date类的子类。

Calendar类对象字段类型

字段值 含义
YEAR
MONTH 月(从0开始,可以+1使用)
DAY_OF_MONTH 月中的天(几号)
HOUR 时(12小时制)
HOUR_OF_DAY 时(24小时制)
MINUTE
SECOND
DAY_OF_WEEK 周中的天(周几,周日为1,可以-1使用)

代码演示:

import java.util.Calendar;  //这是Java语言中的一个导入语句,用于导入java.util包中的Calendar类。

 @Test
    public void showCalendar(){
      Calendar cld=Calendar.getInstance();  //获取当前日期
        // 加上5天
        cld.add(Calendar.DATE, 5);
        System.out.println("加上10天后的日期:" + cld.getTime());

        // 减去5天
        cld.add(Calendar.DATE, -5);
        System.out.println("减去5天后的日期:" + cld.getTime());
    }

输出效果如下:

Java日期加减_第1张图片

3.2. 使用LocalDate类

Java的LocalDate类属于java.time包的一部分,是Java 8中重新实现的日期相关类之一。这个类没有包含时间和时区的概念,是线程安全的。LocalDate专门用于表示不包含时间的日期,以年、月、日的组合形式呈现,等价于一个日历日期。

代码演示:

import java.time.LocalDate;//这是Java语言中的一个导入语句,用于导入java.util包中的LocaLDate类。

 @Test
    public void showLocalDate(){
        // 获取当前日期
        LocalDate date = LocalDate.now();
        System.out.println("当前日期:" + date);

        // 加上10天
        LocalDate addDay = date.plusDays(10);
        System.out.println("加上10天后的日期:" + addDay);

        // 减去5天
        LocalDate delDay = date.minusDays(5);
        System.out.println("减去5天后的日期:" + delDay);
    }

输出效果如下:
Java日期加减_第2张图片

3.3使用Date类

java.util.Date类表示特定的瞬间,精确到毫秒。Date类的构造函数可以把毫秒值转成日期对象。

代码演示:

import java.time.LocalDate;//这是Java语言中的一个导入语句,用于导入java.util包中的Date类。
 @Test
    public void showDate(){
        // 步骤1: 创建一个Date对象
        
        Date date = new Date(); //返回时间 Thu Nov 23 11:09:23 CST 2023  (2023-11-23 11:09:23)
        // 步骤2: 设置需要加的小时数
        Calendar cld = Calendar.getInstance();
        cld.setTime(date);
        cld.add(Calendar.HOUR, 3); //加3小时
        cld.add(Calendar.DATE, 2); //加2天
        cld.add(Calendar.YEAR, -1); //减一年

        // 步骤3: 获取加小时后的日期
        Date newDate = cld.getTime();

        // 步骤4: 输出加小时后的日期
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = sdf.format(newDate);
        System.out.println(formattedDate);
    }

显示效果如下:

Java日期加减_第3张图片

以上内容总结了Java中日期加减的操作方法和常用类,包括Calendar、Date、LocalDate,通过代码示例演示了如何实现日期的加减,帮助开发者更好地处理时间相关的问题。谢谢观看 ❀❀

你可能感兴趣的:(java,开发语言)