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日

相关文章

  • spring、mybatis 配置方式详解(常用两种方式)

    请看下面的解释: spring、mybatis 配置方式详解 1. Spring 整合 MyBatis 方式 Spring 整合 MyBatis 是通过 Sring 的一个对象 MybatisSqlSessionFactoryBean 来实现的。首先导入依赖包: <!–Spring核心依赖–> <dependency> <g…

    Java 2023年5月19日
    00
  • 详细介绍SpringCloud之Ribbon

    详细介绍SpringCloud之Ribbon 什么是Ribbon? Ribbon是Netflix开源项目之一,主要功能是提供客户端的负载均衡算法及服务调用。它是Spring Cloud体系中较为重要的组件,可以与Eureka、Consul、Zookeeper等注册中心组合使用,实现服务间的调用与负载均衡。 Ribbon的负载均衡算法 Ribbon提供了多种负…

    Java 2023年6月16日
    00
  • Java Date与String的相互转换详解

    Java Date与String的相互转换详解 在Java开发中,我们经常需要对日期时间进行处理和转换,而Java中常用的日期时间类型有两个:Date和String。本篇攻略将详细讲解Java Date和String的相互转换方法。 Date类型转换为String类型 将Date类型转换为String类型,常用的有以下两种方式: 方法一:使用SimpleDa…

    Java 2023年5月20日
    00
  • SpringMVC—配置与使用的示例

    以下是关于“SpringMVC—配置与使用的示例”的完整攻略,其中包含两个示例。 SpringMVC—配置与使用的示例 SpringMVC是Spring框架的一个模块,它是一个基于MVC(Model-View-Controller)架构的Web框架,用于构建Web应用程序。本攻略将介绍SpringMVC的配置与使用的示例。 示例1:SpringMVC…

    Java 2023年5月16日
    00
  • Hibernate save() saveorupdate()的用法

    Hibernate是一个流行的Java ORM框架,在Hibernate中,save()和saveOrUpdate()被广泛用于将Java对象映射到数据库中。在本文中,我们将讨论Hibernate中的save()和saveOrUpdate()方法及其用法,以明确它们的区别和使用场景。 save()方法 Hibernate中的save()方法将新的持久化对象保…

    Java 2023年5月20日
    00
  • 详谈Java中的二进制及基本的位运算

    详谈Java中的二进制及基本的位运算 什么是二进制 二进制是一种采用0和1两个数码表示数字的方法,被广泛应用于计算机科学领域。在Java中,可以用整型变量存储二进制数。 在Java中,整型变量默认采用十进制存储,但是可以采用其他进制的数字进行初始化。例如: int num1 = 10; // 十进制 int num2 = 0b1010; // 二进制 int…

    Java 2023年5月27日
    00
  • Java基础之Bean的创建、定位和使用

    Java基础之Bean的创建、定位和使用 在Java开发中,Bean是非常常用的一种Java类。Bean是一种被特殊编写的Java类,通常用于封装和传输数据,它拥有以下几个特点: 具有无参构造器 具有getter/setter方法 实现序列化接口 下面我们将对Bean的创建、定位和使用进行详细讲解。 Bean的创建 JavaBean的创建需要满足上述特点,以…

    Java 2023年5月26日
    00
  • Spring MVC 简单的hello world的实现

    Spring MVC是一种基于Java的Web框架,它可以帮助我们快速地开发Web应用程序。在本文中,我们将详细介绍如何使用Spring MVC实现一个简单的“Hello, world!”应用程序。 环境准备 在开始之前,我们需要准备好以下环境: JDK 1.8或更高版本 Maven 3.0或更高版本 IntelliJ IDEA或Eclipse等Java I…

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