java计算两个日期中间的时间

如果想要计算两个日期中间的时间,可以使用Java的Date和Calendar类来处理,具体步骤如下:

  1. 使用SimpleDateFormat类将输入的两个日期字符串转换为Date对象。
String startDate = "2021-01-01";
String endDate =  "2021-06-30";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse(startDate);
Date date2 = sdf.parse(endDate);
  1. 使用Calendar类获取两个日期的毫秒差。
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
calendar1.setTime(date1);
calendar2.setTime(date2);
long millis1 = calendar1.getTimeInMillis();
long millis2 = calendar2.getTimeInMillis();
long diff = millis2 - millis1;

  1. 将毫秒差转换为时间间隔(天、小时、分、秒)。
long diffSeconds = diff / 1000;
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);
long diffDays = diff / (24 * 60 * 60 * 1000);

以下是完整的计算两个日期中间时间的代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateIntervalExample {
    public static void main(String[] args) {
        String startDate = "2021-01-01";
        String endDate =  "2021-06-30";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date1 = sdf.parse(startDate);
            Date date2 = sdf.parse(endDate);
            Calendar calendar1 = Calendar.getInstance();
            Calendar calendar2 = Calendar.getInstance();
            calendar1.setTime(date1);
            calendar2.setTime(date2);
            long millis1 = calendar1.getTimeInMillis();
            long millis2 = calendar2.getTimeInMillis();
            long diff = millis2 - millis1;
            long diffSeconds = diff / 1000;
            long diffMinutes = diff / (60 * 1000);
            long diffHours = diff / (60 * 60 * 1000);
            long diffDays = diff / (24 * 60 * 60 * 1000);
            System.out.println("Difference in seconds: " + diffSeconds + " seconds.");
            System.out.println("Difference in minutes: " + diffMinutes + " minutes.");
            System.out.println("Difference in hours: " + diffHours + " hours.");
            System.out.println("Difference in days: " + diffDays + " days.");
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

输出结果:

Difference in seconds: 15552000 seconds.
Difference in minutes: 259200 minutes.
Difference in hours: 4320 hours.
Difference in days: 180 days.

另外一个示例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateIntervalExample {
    public static void main(String[] args) {
        String startDate = "2021-03-01";
        String endDate =  "2021-03-10";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date1 = sdf.parse(startDate);
            Date date2 = sdf.parse(endDate);
            Calendar calendar1 = Calendar.getInstance();
            Calendar calendar2 = Calendar.getInstance();
            calendar1.setTime(date1);
            calendar2.setTime(date2);
            long millis1 = calendar1.getTimeInMillis();
            long millis2 = calendar2.getTimeInMillis();
            long diff = millis2 - millis1;
            long diffSeconds = diff / 1000;
            long diffMinutes = diff / (60 * 1000);
            long diffHours = diff / (60 * 60 * 1000);
            long diffDays = diff / (24 * 60 * 60 * 1000);
            System.out.println("Difference in seconds: " + diffSeconds + " seconds.");
            System.out.println("Difference in minutes: " + diffMinutes + " minutes.");
            System.out.println("Difference in hours: " + diffHours + " hours.");
            System.out.println("Difference in days: " + diffDays + " days.");
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

输出结果:

Difference in seconds: 777600 seconds.
Difference in minutes: 12960 minutes.
Difference in hours: 216 hours.
Difference in days: 9 days.

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java计算两个日期中间的时间 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Springboot – Fat Jar示例详解

    下面我来详细讲解“Springboot – Fat Jar示例详解”的完整攻略。 简介 首先介绍一下什么是Fat Jar。简单来说,它是一个可以包含应用程序所有依赖库的大型JAR文件,因此它也被称为可执行JAR文件。SpringBoot可以使用Maven或Gradle生成Fat Jar,其他构建工具也支持类似的功能。 在使用Fat Jar时,需要做的就是提供…

    Java 2023年5月19日
    00
  • Spring Boot日志控制详解

    Spring Boot日志控制详解 简介 在应用程序中,日志是非常重要的组成部分。通过日志,我们可以了解应用程序中所发生的事件及其执行状态。Spring Boot提供了非常方便的日志控制功能,使得应用程序中的日志记录变得更加简单、可读且易于管理。 Spring Boot默认日志记录器 Spring Boot默认使用的是Logback日志框架,它拥有极高的性能…

    Java 2023年6月1日
    00
  • Java并发编程系列之LockSupport的用法

    Java并发编程系列之LockSupport的用法攻略 概述 LockSupport是Java并发编程中提供的一种线程阻塞和唤醒的底层工具,它可以被用于实现高级别的同步工具(如Semaphore、ReentrantLock)等,也可以被用于线程间的通信。 在这篇文章中,我们将会详细介绍LockSupport的使用方法,包括使用park()和unpark()方…

    Java 2023年5月20日
    00
  • 从零开始使用IDEA创建SpringBoot项目(图文)

    下面是详细的攻略: 1. 安装JDK 在使用IDEA创建SpringBoot项目之前,需要先安装JDK,确保能够正常运行Java程序。可以到Oracle官网下载并安装JDK。安装完成后,可以在终端中输入以下命令检查是否安装成功: java -version 2. 安装IDEA 安装完JDK后,可以下载并安装一个Java开发工具,如:IntelliJ IDEA…

    Java 2023年5月15日
    00
  • java数组中的异常类型整理

    下面是”Java数组中的异常类型整理”的攻略: 1. 数组异常类型简介 在Java中,使用数组的过程中,会出现各种各样的异常情况。这些异常相关的类可以使用Java语言中提供的异常类来处理。 Java中的数组异常主要包括以下几种情况: ArrayIndexOutOfBoundsException,在访问数组下标超出数组范围时抛出。 NullPointerExc…

    Java 2023年5月26日
    00
  • 解决问题:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources

    解决问题: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources 这个问题通常出现在使用Maven构建项目时,执行了clean install命令,Maven在构建过程中提示如下错误: Failed to execute goal org.…

    Java 2023年6月2日
    00
  • 详解Java中KMP算法的图解与实现

    “详解Java中KMP算法的图解与实现”的完整攻略主要可以分为以下几个部分: 1. 什么是KMP算法 KMP算法,也称为Knuth-Morris-Pratt算法,是一种字符串匹配算法,用于在一个文本串S内查找一个模式串P的出现位置。它利用字符串自身的特点,避免了像暴力匹配算法中需要从头对比每个字符的情况。 2. KMP算法的实现思路 KMP算法的实现思路可以…

    Java 2023年5月19日
    00
  • Springboot es包版本异常解决方案

    下面是“Springboot es包版本异常解决方案”的完整攻略,包含以下几部分内容: 问题描述 解决方案 示例说明 问题描述 使用 Spring Boot 时,如果要使用 Elasticsearch,一般会使用 Spring Data Elasticsearch(spring-boot-starter-data-elasticsearch),其中包含了 E…

    Java 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部