`
wen742538485
  • 浏览: 238950 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JAVA 计算任意两个日期之间的天数....

    博客分类:
  • java
阅读更多
public static int dispersionDay(String strDate1, String strDate2) {
  int iDay = 0;//记录相差的天数  
  try {
   int index1,index2;
   index1=strDate1.indexOf('-');
   index2=strDate1.lastIndexOf('-');
   int nYear, nMonth, nDay;
   nYear = Integer.parseInt(strDate1.substring(0, index1));
   nMonth = Integer.parseInt(strDate1.substring(index1+1, index2));
   nDay = Integer.parseInt(strDate1.substring(index2+1));
   Calendar objCalendarDate1 = Calendar.getInstance();//此函数new   GregorianCalendar()  
   objCalendarDate1.set(nYear, nMonth, nDay);
           
   index1=strDate2.indexOf('-');
   index2=strDate2.lastIndexOf('-');
  
   nYear = Integer.parseInt(strDate2.substring(0, index1));
   nMonth = Integer.parseInt(strDate2.substring(index1+1, index2));
   nDay = Integer.parseInt(strDate2.substring(index2+1));
   Calendar objCalendarDate2 = Calendar.getInstance();
   objCalendarDate2.set(nYear, nMonth, nDay);

   if (objCalendarDate2.equals(objCalendarDate1))
    return 0;

   if (objCalendarDate2.after(objCalendarDate1))//如果strDate2>strDate1  
   {
    while (!objCalendarDate2.equals(objCalendarDate1)) {
     objCalendarDate1.add(objCalendarDate1.DATE, 1);
     iDay++;
    }
    iDay = -iDay;// 负号代表 还相距几天,正号代表已过去几天。。。
   } else//如果strDate1>strDate2  
   {
    while (!objCalendarDate2.equals(objCalendarDate1)) {
     objCalendarDate2.add(objCalendarDate2.DATE, 1);
     iDay++;
    }
   }
  } catch (Exception e) {
  }
  return iDay;
}



/////////////////////////////使用简单的方法二///////////////////////

Calendar c1=new  GregorianCalendar(2008,7,8);
Calendar c2=new  GregorianCalendar(2008,1,2);
System.out.println(">>>>>>>>>>>>>>>>==="+(c1.getTimeInMillis()-c2.getTimeInMillis())/(1000*60*60*24));

////////////注意点////////////

》》》》》月份是0-11

》》》》》new GregorianCalendar()参数为空代表系统所在时间。。。

如果换为 new Date()且参数为空,那么计算出来结果为错误的。。。。。

改正方案是:new Date(int ,int ,int)带参构造函数。。。。
分享到:
评论

相关推荐

    java工具类:Java中计算任意两个日期之间的工作天数.java

    Java中计算任意两个日期之间的工作天数.java 工具类

    计算任意两年之间的间隔天数的java代码

    计算任意两年之间的间隔天数的java代码,可以自己输入任意的年月日。

    java实现输入任意两个日期输出月份数和天数

    java实现输入任意两个日期输出月份数和天数,综合考虑闰年、2月等因素,对于整月计算利息或按天数计算利息提供基础工具类。也可以吧内部类独立出来,方便跨包调用,可自行调整。很实用的一个实现。其他百度查到的很...

    指定两个日期计算相隔的天数

    "指定两个日期计算相隔的天数"这一功能通常涉及日期函数的使用,这些函数能够帮助我们快速地得出两个日期间的差距,即天数。这里我们将详细探讨如何实现这一功能,以及相关的编程语言和工具。 1. **通用方法**: ...

    常用的java工具类

    2.[工具类] Java中计算任意两个日期之间的工作天数 .java 3.[工具类] MD5 .java 4.[工具类] 时间工具TimeUtil.java 5.[工具类] 通信服务端simpleServer 6.[工具类] 使用Java程序来实现HTTP文件的队列下载 .java 7....

    java中计算某个月的工作日总共几天

    - **返回值**:包含两个日期之间所有日期的列表。 - **实现逻辑**: - 循环遍历从开始日期到结束日期之间的每一天。 - 将每一天的日期添加到列表中。 #### 三、计算工作日的具体实现 1. **获取某个月的所有日期*...

    用JAVA编写的计算天数的程序,例如从你出生到今天已经多少天了

    用JAVA编写的计算天数的程序,例如从你出生到今天已经多少天了。可以任意的输入两个日期,计算其中间的天数

    30个java工具类

    [工具类] Java中计算任意两个日期之间的工作天数 .java.txt [工具类] java抓取网页 .java.txt [工具类] MD5 .java.txt [工具类] MD5强化版 .java.txt [工具类] MD5超强化版 .java.txt [工具类] XML 实用工具类 .java...

    日期处理技术 java

    1.对于任意三个整数,判断其否为一个合法的日期值. 2.给定一个日期值,计算若干天后的日期值. 3.如果有两个日期值,计算它们相距的天数.

    八、java 常用日期函数总结.pdf

    6. 计算两个任意时间中间的间隔天数: 可以通过`Calendar`对象的`getTimeInMillis()`方法获取日期的毫秒值,然后计算两个日期毫秒值的差,再转换为天数。以下是一个示例方法,计算两个`Calendar`对象之间的天数间隔...

    【强2】30个java工具类

    [工具类] Java中计算任意两个日期之间的工作天数 .java.txt [工具类] java抓取网页 .java.txt [工具类] MD5 .java.txt [工具类] MD5强化版 .java.txt [工具类] MD5超强化版 .java.txt [工具类] XML 实用工具类 .java...

    datediff:Java编码练习,用于计算任何两个日期之间的天数,而无需将Java库类用于日期或日历。 这是一个有趣的练习

    编码练习计算任意两个日期之间的天数差异jesimone57,2017年6月6日描述创建一个可以按以下格式成对读取日期的应用程序:DD MM YYYY, DD MM YYYY验证输入数据,并计算两个日期之间的天数之差。 应用程序的输出应采用...

    jaava和jsp工具类

    [工具类] 成各种密码随机串,加密解密,编码解码,执行url.java [工具类] 读取、打印输出、保存xml .java ...[工具类] Java中计算任意两个日期之间的工作天数 .java [工具类] java抓取网页 .java [工具类] MD5 .java

    专题资料(2021-2022年)java的时间处理续计算java时间.doc

    例如,`Duration`类可以用来计算两个`LocalDateTime`之间的持续时间,`Period`类则用于计算两个`LocalDate`之间的日期间隔。 在实际应用中,理解并熟练使用这些时间处理概念和方法,可以帮助我们准确地管理应用程序...

    java编程技术

    ### Java编程技术:计算任意两个日期间的天数差 #### 概述 本文将详细介绍如何在Java编程语言中实现计算两个日期之间的天数差异的方法。该功能对于开发涉及日期处理的应用程序非常有用,例如日历应用程序、数据...

    Java日期常用操作方法工具类

    5. 时间间隔:计算两个日期之间的差值,如相差的天数、小时数等。 6. 日期范围:检查日期是否在指定的日期范围内。 对于`JavaDateUtil.java`的具体实现,由于没有给出详细代码,我们无法深入探讨。但可以肯定的是,...

    java控制台下万年历

    "java控制台下万年历"项目旨在实现一个功能,即用户可以输入任意年份和月份,程序将在控制台上显示出该月的日历,并能计算出任意两个日期之间的天数。 首先,我们需要使用Java的内置`java.time`包,这个包自Java 8...

    【Java精品】Java中Date各种相关用法.doc

    例如,使用`LocalDate.now().lengthOfMonth()`可以轻松地获取当前月份的天数,而`ChronoUnit.DAYS.between(date1, date2)`可以直接计算两个日期之间的天数差异。但在旧版本的Java中,我们主要依赖于Date和Calendar类...

    java宾馆管理系统

    - **功能**: 提供了计算任意两个日期之间相差天数的方法。 - **实现细节**: - 私有变量 `total` 用于存储计算结果。 - 构造函数接收两个日期字符串参数 `indate` 和 `outdate`,并通过调用 `mission()` 方法进行...

    java的时间处理续计算java时间).pdf

    3. GregorianCalendar 类:GregorianCalendar 类有两个重要的构造函数:GregorianCalendar() 返回代表当前创建时间的对象;GregorianCalendar(int year, int month, int date) 返回代表任意日期的对象。...

Global site tag (gtag.js) - Google Analytics