`
baobeituping
  • 浏览: 1068592 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JAVA计算两个日期间的天数

阅读更多

把string型转为Date型

Java代码 复制代码
  1. Calendar c1 = Calendar.getInstance();   
  2. c1.set(200511);   
  3. System.out.println(c1.getTime());  
Calendar c1 = Calendar.getInstance();
c1.set(2005, 1, 1);
System.out.println(c1.getTime());



计算两个日期的时间差

Java代码 复制代码
  1. Calendar c1 = Calendar.getInstance();   
  2. c1.set(200511);   
  3.            
  4. Date dateCreatedStop = new java.sql.Date(new java.util.Date().getTime());     
  5.            
  6. Calendar c2 = Calendar.getInstance();   
  7. c2.setTime(dateCreatedStop);   
  8.            
  9. long l1 = c1.getTimeInMillis();   
  10. long l2 = c2.getTimeInMillis();   
  11. // 计算天数   
  12. long days = (l2 - l1) / (24 * 60 * 60 * 1000);   
  13. System.out.println(days);  
Calendar c1 = Calendar.getInstance();
c1.set(2005, 1, 1);
		
Date dateCreatedStop = new java.sql.Date(new java.util.Date().getTime());  
		
Calendar c2 = Calendar.getInstance();
c2.setTime(dateCreatedStop);
		
long l1 = c1.getTimeInMillis();
long l2 = c2.getTimeInMillis();
// 计算天数
long days = (l2 - l1) / (24 * 60 * 60 * 1000);
System.out.println(days);



输出结果为两个日期相差的天数

一个带main方法的类

Java代码 复制代码
  1. import java.util.*;   
  2.   
  3. /**  
  4.  * 计算两个日期之间相差的天数  
  5.  */  
  6. public class TestDate {   
  7.     public static void main(String[] args) {   
  8.         // 设置两个日期   
  9.         // 日期:2009年3月11号   
  10.         Calendar c1 = Calendar.getInstance();   
  11.         c1.set(200931);   
  12.         // 日期:2010年4月1号   
  13.         Calendar c2 = Calendar.getInstance();   
  14.         c2.set(200932);   
  15.         // 转换为相对时间   
  16.         long l1 = c1.getTimeInMillis();   
  17.         long l2 = c2.getTimeInMillis();   
  18.         // 计算天数   
  19.         long days = (l2 - l1) / (24 * 60 * 60 * 1000);   
  20.         System.out.println(days);   
  21.     }   
  22. }  
分享到:
评论
1 楼 ruling100 2011-11-16  
这个不能处理像2月29号这样的情况啊

比如:
c1为2011年02月28日  c2为2011年03月1号,输出的结果是3天,实际只有1天,而且
该函数对于不合理的日期也不会报异常。。

如:
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar c1 = Calendar.getInstance();
c1.set(2011, 02, 40);

Calendar c2 = Calendar.getInstance();
c2.set(2011, 03, 01);

long l1 = c1.getTimeInMillis();
long l2 = c2.getTimeInMillis();

long days = (l2-l1)/(24*60*60*1000);

System.out.println(days);
}

输出的结果是-8

相关推荐

    计算除周六日、法定节假日以外两个日期之间的间隔天数

    计算除周六日、法定节假日以外两个日期之间的间隔天数

    计算2个日期相差天数、去除节假日周末

    在编程领域,尤其是在数据分析、日程管理或者时间序列分析中,计算两个日期之间的差异并考虑工作日排除节假日和周末是一项常见的任务。C++作为一种强大的系统级编程语言,提供了丰富的库来处理日期和时间操作。本篇...

    两个日期间计算 除去节假日 非工作时间

    在 Java 语言中,计算两个日期之间的工作日时间是一个常见的需求,特别是在需要排除周末和法定节假日的情况下。本文将通过一个示例代码,详细介绍如何计算两个日期之间的工作日时间,排除周末和法定节假日。 首先,...

    Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。

    综上所述,这个Java程序主要实现了两个功能:一是判断两个给定日期是否相同及计算它们之间的天数差;二是将给定日期向前或向后调整一定数量的天数。程序的核心是`DateType`类的设计与实现,它包含了日期的创建、打印...

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

    其他如Java、C#、Ruby等语言也有类似的日期处理方法,通过日期对象的属性或方法计算两个日期间的差异。 5. **工具和库**: 在数据分析领域,像Pandas(Python)和R语言的`difftime`函数也提供了简便的日期差计算...

    请假时长计算和每月工作天数计算源码

    可以先将两个日期转换为`LocalDateTime`,然后使用`Duration.between()`计算差值,最后通过`Duration.toHours()`获取小时数。 ```java import java.time.*; public class LeaveDurationCalculator { public ...

    一个可以计算天数的软件

    在实际开发中,这类软件可能会提供多种功能,比如添加或减去特定天数,计算工作日排除周末和节假日的天数,或者计算两个日期间的小时、分钟甚至秒数差异。 总结来说,这个"可以计算天数的软件"涉及到日期和时间的...

    java 计算时间差

    计算两个日期间的天数 这种方法特别适用于只关心两个日期间相差天数的情况。 ```java public static int getBetweenDayNumber(String dateA, String dateB) { long DAY = 24L * 60L * 60L * 1000L; ...

    两日期的间隔天数

    eclipse,JAVA,俩日期间的天数计算。console处输入俩日期,输入年份可为公元前(但两个年份不可相差太大,太大不可计算),输入月份及天数不符合实际状况时,会做相应提醒。PS:日期输入时,先大后小,还是先小后大...

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

    ### 计算两个日期间的时间差 #### 使用`java.util.Date`和`java.text.SimpleDateFormat` 首先,我们需要了解如何表示日期并解析日期字符串到日期对象。Java中常用`java.util.Date`来表示日期,而`java.text....

    javaScript和java中日期相减得出天数方案.docx

    无论是JavaScript还是Java,计算两个日期之间相差天数的基本原理都是相似的:先将日期转换为统一的时间单位(通常是毫秒),然后计算两个时间单位之间的差值,并将其转换为所需的单位(如天)。在实际开发中,还需要...

    日期计算程序(java)

    你可以使用`LocalDate.parse()`解析日期字符串,然后通过`ChronoUnit.DAYS.between()`方法直接计算两个日期之间的天数差。 3. **日期格式化**: 在处理日期字符串时,可能会用到`SimpleDateFormat`或`...

    计算日期差

    - `TimeUnit`方法:使用`TimeUnit.between`方法可以直接计算两个日期间的差值,单位可以是天、小时等。例如: ```java long diffInMilliseconds = Math.abs(date2.getTime() - date1.getTime()); long daysDiff ...

    Android编程实现计算两个日期之间天数并打印所有日期的方法

    然后,通过计算两个`Calendar`对象的毫秒差,并除以一天的毫秒数(`ONE_DAY_MS`),可以得到两个日期间的天数差异。 ```java private void betweenDays(long startTime, long endTime, long mills_select, int code...

    关于日期计算的java代码

    通过上述示例可以看出,使用 `java.time` 包可以更加简洁地完成日期间的时间差计算,并且提供了更丰富的功能,如 `Duration` 可用于计算两个时间点之间的持续时间,而 `Period` 用于计算两个日期之间的年月日间隔。...

    DateHandler.java日期处理类Java文件下载.rar

    与现在的日期对比 得到天数、计算两个日期间相隔的日子、获取今天的日期的字符串、获取当前月份,* @return 返回字符串 格式:两位数、获取昨天的日期的字符串等,还可以计算员工的工作天数,如在使用期和离职期该...

    java编程技术

    本文将详细介绍如何在Java编程语言中实现计算两个日期之间的天数差异的方法。该功能对于开发涉及日期处理的应用程序非常有用,例如日历应用程序、数据分析工具或任何需要比较特定日期的应用场景。 #### 核心知识点 ...

    计算两天之间的月数.rar

    因此,更准确的方法是计算两个日期之间的总天数,然后除以平均每个月的天数(假设为30天),并进行适当的四舍五入: ```python def months_between_dates(date1, date2): delta_days = (date2 - date1).days avg_...

    java版日期计算器

    "Java版日期计算器"通常是指一个程序或库,用于执行各种日期相关的运算,如添加、减去天数、计算两个日期之间的差值等。Java提供了多种API来处理日期和时间,包括`java.util.Date`、`java.util.Calendar`以及更为...

    Java的课题总包含

    `Period.between()`方法可以方便地计算两个日期间的年、月、日差值。 2. **计算最大值**:Java提供了多种方式来找到一组数值中的最大值。对于基本类型,可以使用`Math.max(a, b)`函数;对于对象,可以使用`...

Global site tag (gtag.js) - Google Analytics