`

java获取两日期的间隔天数

    博客分类:
  • java
阅读更多

这是我程序中用到的方法,传入的日期格式,可根据自己的需要作相应的改变。

/**
* 读取两个日期之间的天数
* @param begin  yyyy-mm-dd 
* @param end  yyyymmdd 
* @return
*/
public static int getDays(Date begin,String end) throws Exception{
		String strend=end.substring(0,4)+"-"+end.substring(4,6)+"-"+end.substring(6,8);
		int days=getBetweenDays(begin.toString(), strend); 
		return days;
	}
	
/** 
* 取得两个时间段的时间间隔 
* return t2 与t1的间隔天数 
* throws ParseException 如果输入的日期格式不是0000-00-00 格式抛出异常 
*/ 
public static int getBetweenDays(String t1,String t2) throws ParseException{ 
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 
		int betweenDays = 0; 
		Date d1 = format.parse(t1); 
		Date d2 = format.parse(t2); 
		Calendar c1 = Calendar.getInstance(); 
		Calendar c2 = Calendar.getInstance(); 
		c1.setTime(d1); 
		c2.setTime(d2); 
		// 保证第二个时间一定大于第一个时间 
		if(c1.after(c2)){ 
			c1 = c2; 
			c2.setTime(d1); 
		} 
		int betweenYears = c2.get(Calendar.YEAR)-c1.get(Calendar.YEAR); 
		betweenDays = c2.get(Calendar.DAY_OF_YEAR)-c1.get(Calendar.DAY_OF_YEAR); 
		for(int i=0;i<betweenYears;i++){ 
			int tmp=countDays(c1.get(Calendar.YEAR));
			betweenDays+=countDays(c1.get(Calendar.YEAR));
			c1.set(Calendar.YEAR,(c1.get(Calendar.YEAR)+1)); 
		} 
		return betweenDays; 
	} 
	public static int countDays(int year){
		int n=0;
		for (int i = 1; i <= 12; i++) {  
            n += countDays(i,year);  
		}  
		return n;
	}
	

public static int countDays(int month, int year){  
        int count = -1;  
        switch(month){  
          case 1:  
          case 3:     
          case 5:  
          case 7:  
          case 8:  
          case 10:  
          case 12:  
            count = 31;  
            break;  
          case 4:  
          case 6:  
          case 9:  
          case 11:  
              count = 30;  
              break;  
          case 2:  
              if(year % 4 == 0)  
                  count = 29;  
              else  
                  count = 28;  
              if((year % 100 ==0) & (year % 400 != 0))  
                      count = 28;  
        }  
        return count;  
    }  

 

0
1
分享到:
评论

相关推荐

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

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

    java获取两个时间的相隔时间,包括年、月、日、时、分、秒

    在这个类中,可能包含了各种方法来计算两个`java.util.Date`对象之间的时间差,包括年、月、日、时、分和秒。以下是一些关于如何在Java中处理此类问题的知识点: 1. **日期和时间类**:在Java中,`java.util.Date` ...

    Java 计算两个日期之间相差的月数

    总的来说,Java提供了多种方式来计算两个日期之间相差的月数,选择哪种方法取决于你的具体需求,如是否需要考虑日期中的天数,以及是否处理跨闰年的边界问题。对于简单的情况,`ChronoUnit.MONTHS.between()`就足够...

    Java获取时间差(天数差,小时差,分钟差)代码示例

    Java获取时间差是指计算两个时间点之间的时间间隔, Java中可以使用SimpleDateFormat类来实现时间差的计算。在Java中,时间差可以分为天数差、小时差、分钟差等。下面将对Java获取时间差的代码示例进行详细讲解。 ...

    java日期操作工具类(获取指定日期、日期转换、相隔天数)

    `Calendar`类提供了丰富的API来操作日期和时间,包括获取和设置年、月、日、小时、分钟等字段。`c.add(Calendar.DAY_OF_MONTH, value)`可以用来增加或减少日期的天数,而`c.get(Calendar.DAY_OF_MONTH)`则返回当前...

    Java获取各种时间

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

    java获得各种时间

    根据给定文件的信息,我们可以深入探讨Java中获取各种时间戳、日期和时间间隔的方法。Java提供了多种类库来处理日期和时间,其中最主要的是`java.util.Date`、`java.util.Calendar`以及`java.text.SimpleDateFormat`...

    js+my97控件计算时间日期间隔

    在JavaScript和My97日期控件的结合使用中,我们可以实现高效且灵活的时间日期间隔计算。这个案例主要针对的是计算特定日期之间的差距,比如在本例中,它被用来计算补休天数。这里我们将深入探讨如何利用JavaScript的...

    java时间工具TimeUtil

    获取两个日期之间间隔天数 获取当前月的第几周:" + tt.getWeekOfMonth()); 获取当前年份:" + tt.getYear()); 获取当前月份:" + tt.getMonth()); 获取今天在本年的第几天:" + tt.getDayOfYear()); 获得今天在本月...

    JAVA定时器时间抓取

    本文将深入探讨Java定时器(Timer)的使用以及如何获取和处理年月日、时间节点等时间相关的信息。 1. **Java定时器(Timer)** Java定时器类`java.util.Timer`提供了调度任务的功能,它可以按照预定的时间间隔执行...

    2023年日历(标记工作日,节假日,调休,周末),计算两个日期相差的工作日天数

    压缩包里有2个文件,用于计算两个日期相差的工作日天数(排除周末和法定节假日): 1、excel表为2023年日历数据,并且备注工作日、周末,调休、节假日类型,可导入数据库。 2、SQL文件为2023年所有日期的插入SQL,并...

    java控制台下万年历

    - 要计算任意两日期之间的天数,可以使用`LocalDate`对象的`until()`方法,它返回一个`Period`对象,包含了两个日期之间的年数、月数和天数。 - 通过调用`getDays()`方法,可以直接获取两个日期之间的天数差值。 ...

    日期计算程序(java)

    本项目"日期计算程序(java)"提供了一个简单的Java小程序,旨在帮助用户计算两日期之间的天数差异,例如计算自己的年龄或者任何两个有意义日期间的间隔。这个程序对于初学者来说是一个很好的起点,因为它涉及到Java...

    操作日期的java包

    7. **比较和查询**:可以轻松比较两个日期时间对象,或者查询某个日期时间是否在另一日期时间之前或之后,还可以获取某个日期的星期几、一年中的第几天等信息。 8. **ISO-8601兼容**:Joda-Time完全兼容ISO-8601日...

    JAVA获取目前时间 .doc

    在提供的代码中,可以看到一个简单的示例,展示了如何利用`java.util`和`java.text`包中的类来获取并格式化当前日期和时间,以及计算两个日期之间的差值。以下是对这些知识点的详细说明: 1. **`java.util.Date`类*...

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

    该函数会调用`daysBetween`获取总天数,然后遍历每个日期,排除周末和节假日,统计有效工作日。 整个过程大致如下: 1. 计算两个日期之间的总天数。 2. 遍历这个天数范围内的每一天,检查是否为工作日。 3. 如果是...

    计算日期差

    本文将详细讲解如何计算两个日期之间的差值,包括天数、小时、分钟和秒数。我们将基于Java语言,通过分析提供的`DateDays.java`和`Date`文件来探讨这一主题。 首先,Java提供了`java.util.Date`类来表示日期和时间...

    Days-Between:一个简短的 Java 程序,用于计算今天和日期之间的天数,请在下拉列表中选择

    标题中的“Days-Between”是一个基于Java开发的简单应用程序,其主要功能是计算用户通过界面选择的日期与当前日期之间的天数差异。这个程序利用了Java的日期处理类和Swing库来创建用户界面。 首先,我们要理解Java...

    java日期处理大全

    // 计算间隔天数 return (int) interval; } ``` 以上内容涵盖了Java日期处理的主要方面,从基本的日期设置和获取,到高级的日期计算和格式化。通过理解和掌握这些知识点,开发者可以更加高效地处理各种与日期相关...

    JAVA日期操作汇总

    在Java中,可以通过`Calendar`类来获取某个月份的最大天数。这通常涉及到一些基本的操作步骤: ```java Calendar time = Calendar.getInstance(); time.clear(); // 清除当前日历的所有字段,使其初始化 time.set...

Global site tag (gtag.js) - Google Analytics