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日

相关文章

  • JavaWeb开发入门第二篇Tomcat服务器配置讲解

    下面是对”JavaWeb开发入门第二篇Tomcat服务器配置讲解”的完整攻略: 1. 下载Tomcat服务器 首先需要到Tomcat的官网(https://tomcat.apache.org/)下载对应的版本,选择”Download”页面中的合适版本即可。下载完成后,解压到本地即可。 2. 配置环境变量 在操作系统中配置Tomcat服务器的环境变量可以让我们…

    Java 2023年5月20日
    00
  • Java 实现微信和支付宝支付功能

    Java 实现微信和支付宝支付功能的完整攻略 准备工作 首先需要注册微信和支付宝的开发者账号,获取相应的开发者ID和密钥。 根据官方文档下载相应的SDK包,并将其导入到项目中。 接入支付功能需要一个网站或App,需要先部署好网站或App,并申请相应的证书(微信需要HTTPS证书)。 微信支付功能的实现步骤 准备工作 在微信公众平台申请开通微信支付功能,获取w…

    Java 2023年5月20日
    00
  • java实现桌球游戏

    下面我来详细讲解一下“Java实现桌球游戏”的完整攻略,具体内容如下: 准备工作 首先,我们需要准备以下开发工具: Eclipse IDE JDK JavaFX Scene Builder 安装完毕后,打开Eclipse IDE,在新建Java工程时,选择JavaFX项目,并在项目中导入JavaFX语言库。 编写桌球游戏程序 UI设计 使用JavaFX Sc…

    Java 2023年5月19日
    00
  • spring基于通用Dao的多数据源配置详解

    以下是对“spring基于通用Dao的多数据源配置详解”的完整攻略。 一、背景 在开发Java Web应用时,经常需要使用多个数据源来存储不同的业务数据。而Spring框架提供了多数据源的支持,通过配置多个数据源并使用通用Dao可以让我们更加方便和高效地实现多数据源的管理。 二、实现步骤 1. 导入依赖 在pom.xml文件中添加以下依赖: <!–通…

    Java 2023年6月3日
    00
  • SpringMVC表单标签使用详解

    Spring MVC是一种常用的Web框架,它提供了一种方便的方式来处理HTTP请求和响应。在Spring MVC中,我们可以使用表单标签来创建HTML表单。本文将详细讲解“SpringMVC表单标签使用详解”的完整攻略,并提供两个示例说明。 步骤一:添加依赖 我们需要在pom.xml文件中添加以下依赖: <dependency> <gro…

    Java 2023年5月18日
    00
  • 从原理聊JVM(三):详解现代垃圾回收器Shenandoah和ZGC

    作者:京东科技 康志兴 Shenandoah Shenandoah一词来自于印第安语,十九世纪四十年代有一首著名的航海歌曲在水手中广为流传,讲述一位年轻富商爱上印第安酋长Shenandoah的女儿的故事。 后来美国有一条位于Virginia州西部的小河以此命名,所以Shenandoah的中文译名为“情人渡”。 Shenandoah首次出现在Open JDK1…

    Java 2023年4月27日
    00
  • SpringBoot2 实现JPA分页和排序分页的案例

    下面是关于“SpringBoot2 实现JPA分页和排序分页的案例”的完整攻略: 1. 简介 SpringBoot是一款轻量级的Java开发框架,它可以用来构建各种类型的Web应用程序。其中,JPA(Java Persistence API)是Java EE规范的一部分,用于管理Java对象和关系型数据库之间的映射关系。JPA的分页和排序功能在实际开发中非常…

    Java 2023年6月2日
    00
  • Java中Volatile关键字详解及代码示例

    一、什么是Volatile? Volatile是Java中的一种轻量级的同步机制,用于解决多线程并发访问共享变量时的可见性问题,它保证了对变量的修改能够被立即,且正确的读取到。Volatile在Java内存模型中的作用是用来保证线程间数据的可见性。 二、Volatile关键字的使用 声明Volatile变量 Volatile变量的声明格式为:volatile…

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