`

使用java.util.Calendar返回间隔天数

阅读更多
java 代码
 
  1. **  
  2. * Calculates the number of days between two calendar days in a manner  
  3. * which is independent of the Calendar type used.  
  4. *  
  5. @param d1    The first date.  
  6. @param d2    The second date.  
  7. *  
  8. @return      The number of days between the two dates.  Zero is  
  9. *              returned if the dates are the same, one if the dates are  
  10. *              adjacent, etc.  The order of the dates  
  11. *              does not matter, the value returned is always >= 0.  
  12. *              If Calendar types of d1 and d2  
  13. *              are different, the result may not be accurate.  
  14. */  
  15. static int getDaysBetween (java.util.Calendar d1, java.util.Calendar d2) {  
  16.     if (d1.after(d2)) {  // swap dates so that d1 is start and d2 is end  
  17.         java.util.Calendar swap = d1;  
  18.         d1 = d2;  
  19.         d2 = swap;  
  20.     }  
  21.     int days = d2.get(java.util.Calendar.DAY_OF_YEAR) -  
  22.                d1.get(java.util.Calendar.DAY_OF_YEAR);  
  23.     int y2 = d2.get(java.util.Calendar.YEAR);  
  24.     if (d1.get(java.util.Calendar.YEAR) != y2) {  
  25.         d1 = (java.util.Calendar) d1.clone();  
  26.         do {  
  27.             days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR);  
  28.             d1.add(java.util.Calendar.YEAR, 1);  
  29.         } while (d1.get(java.util.Calendar.YEAR) != y2);  
  30.     }  
  31.     return days;  
  32. }  
分享到:
评论

相关推荐

    日历调整、时间调整、时间预测、以及Java.util包和Java.test包的简单运用,其中包含10个源代码文件,只需导入eclipse中即可编译、运行。

    `java.time.Duration.between()`方法返回两个`Instant`对象之间的时间跨度,而`java.time.Period.between()`用于日期之间的间隔。 至于`Java.test`包,它是JUnit测试框架的一部分,通常用于编写单元测试。在源代码...

    java日期使用工作总结

    本文将详细介绍Java中的`java.util.Date`、`java.text.DateFormat`、`java.text.SimpleDateFormat`、`java.util.Calendar`和`java.util.GregorianCalendar`这几个类的用法。 #### 二、Java.util.Date及其格式化 ##...

    Date与Calendar详解

    `java.util.Calendar`是Java中用于操作日期和时间的抽象类,提供了比`Date`类更全面的日期和时间操作能力,包括时区支持、日历字段的访问以及日期的加减运算等。 ##### 使用Calendar `Calendar`类是抽象的,不能...

    关于日期计算的java代码

    #### 方法一:使用 `java.util.Date` 和 `java.util.Calendar` ```java public static long getMillis(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); return c.getTimeInMillis(); } ...

    JAVA中的时间操作.pdf

    Java提供了多种类和接口来支持这些操作,包括`java.util.Date`、`java.util.Calendar`、`java.text.SimpleDateFormat`以及Java 8引入的`java.time`包中的新API。以下是对这些关键知识点的详细解释: 1. **`java....

    日期计算程序(java)

    在这个程序中,开发者可能使用了`java.util.Calendar`或`java.time.LocalDate`来表示日期。`Calendar`是旧的API,而`LocalDate`属于Java 8引入的新的日期和时间API,后者通常被认为更易于使用且功能更强大。 1. **...

    java_calendar_with_alert.rar_memo_定时提醒

    Java的`java.util.Calendar`类是处理日期和时间的基础类,它是所有日历类的抽象基类。以下是一些关于`Calendar`类的关键知识点: 1. **创建实例**:`Calendar`类是抽象的,不能直接实例化,但可以通过`getInstance...

    java Date 学习总结

    本文将对`java.util.Date`、`java.util.Calendar`以及`java.text.SimpleDateFormat`等类的使用进行详细总结,帮助读者更好地理解和掌握这些核心API。 #### 一、Calendar 的使用 ##### 1. 初始化 Calendar 实例 ``...

    JAVA获取目前时间 .doc

    3. **`java.util.Calendar`类**: `Calendar`是一个抽象类,提供了日期和时间的计算功能。`Calendar.getInstance()`方法返回一个`Calendar`实例,根据本地环境设置。在代码中,`cal.set(2022, Calendar.DECEMBER, 25)...

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

    在Java编程中,日期处理是常见的任务之一,Java提供了多种方式来操作日期,如`java.util.Date`,`java.util.Calendar`以及`java.text.SimpleDateFormat`等类。以下是对这些类的一些常用函数的总结: 首先,引入`...

    java操作日期时间工具类

    Java提供了多种工具类来帮助开发者进行日期时间的操作,其中最常用的是`java.util.Date`、`java.util.Calendar`以及`java.time`包中的类。本篇将重点介绍Java操作日期时间的工具类,特别是通过`DateUtil.java`这个...

    Java获取各种时间

    此外,`TimeTest.getTwoDay()`方法用于计算两个日期之间的间隔天数,这可以通过将日期转换为毫秒,然后计算两个毫秒值的差再转换回天数来实现。 总之,Java提供了一套完整的日期时间处理机制,通过组合使用`Date`、...

    时间 android

    - 使用`java.util.Calendar`类获取当前日期和时间:`Calendar calendar = Calendar.getInstance();` - 使用`java.time`包获取当前日期:`LocalDate today = LocalDate.now();` - 获取当前时间:`LocalTime now = ...

    DateUtil.java

    5. **获取当前日期和时间**:提供如 `now()` 或 `currentDate()` 的方法,用于获取系统当前的日期或时间,这可能利用`java.util.Calendar` 或 `java.time.LocalDateTime` 类。 6. **日期间隔计算**:可能会有计算两...

    java00.rar_Java编程_Java_

    在Java 8之前,我们通常使用`java.util.Date`和`java.util.Calendar`类来处理日期和时间。然而,这些类的设计并不理想,因此在Java 8中引入了新的日期时间API,即`java.time`包,它提供了更强大且易于使用的功能。 ...

    TimeIsLife.zip_time.is精准时间_time.is精确时间_倒计时java_精确时间time.is

    在Java中,处理时间的基本类是`java.util.Date`和`java.util.Calendar`,但这两个类自Java 8以后已被新的`java.time`包中的类所取代,如`LocalDate`, `LocalTime`, `LocalDateTime`, `Instant`等。这些新类提供了...

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

    `java.util.Date`类是处理日期和时间的基础,它的构造函数创建一个表示当前时刻的Date对象,而`getTime()`方法返回自1970年以来的毫秒数。 2. **日期格式化**: `java.text.SimpleDateFormat`类用于日期和时间的...

    史上最全java时间类date的处理

    ### 七、获取两个日期之间的间隔天数 通过计算两个日期之间的差值来获取天数。 ```java public static String getTwoDay(String sj1, String sj2) { SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-...

    java日历.zip

    程序能够接受用户输入的指定年份和月份,然后输出对应的日历,同时支持计算两个日期之间的间隔天数。 首先,让我们了解一下Java中的`java.util.Calendar`类。这个类是所有日历字段的抽象基类,它提供了一个通用的...

    计算时间差以及比较日期大小

    2. **使用`java.util.Calendar`**: ```java Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(df.parse(s1)); c2.setTime(df.parse(s2)); int result = c1....

Global site tag (gtag.js) - Google Analytics