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

java计算两个日期之间的周末天数

阅读更多
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * 计算两个日期之间的周末天数
 * @author yan
 *
 */
public class WeekEnd {
	
	public static void main(String[] args) throws ParseException {
		  // 设置传入的时间格式  
	      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
	      // 指定一个日期  
	      Date date1 = dateFormat.parse("2016-11-12 13:24:16");  
	      Date date2 = dateFormat.parse("2016-11-20 13:24:16");
	     //第三个三处代表是否 去除 双休日
	      System.out.println(computeHolidays(date2,date1));
			
		
	}
	
	public static int computeHolidays(Date t1,Date t2) throws ParseException{
		//初始化第一个日期
		Calendar cal1 = Calendar.getInstance();
		//初始化第二个日期,这里的天数可以随便的设置
		Calendar cal2 = Calendar.getInstance();


		// 设置传入的时间格式  
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
		// 指定一个日期  
		Date date1 = dateFormat.parse(dateFormat.format(t1));  
		Date date2 = dateFormat.parse(dateFormat.format(t2));
		// 对 calendar 设置为 date 所定的日期  
		cal1.setTime(date1);  
		cal2.setTime(date2);

		int holidays = 0;
		//确定一个 大日期
		if(cal1.compareTo(cal2) > 0){
			Calendar temp = cal1;
			cal1 = cal2;
			cal2 = temp;
			temp = null;
		}
		while(cal1.compareTo(cal2)<=0){
			if(cal1.get(Calendar.DAY_OF_WEEK)==1||cal1.get(Calendar.DAY_OF_WEEK)==7){
				holidays++;
				System.out.println("周末:"+new SimpleDateFormat("yyyy-MM-dd").format(cal1.getTime()));
			}
			cal1.add(Calendar.DAY_OF_YEAR,1);
			
		}
		return holidays;
	}
	
	
	
}

 

0
0
分享到:
评论

相关推荐

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

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

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

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

    java计算两个日期之前的天数实例(排除节假日和周末)

    "java计算两个日期之前的天数实例(排除节假日和周末)" 知识点1:Java日期计算 在Java中,日期计算是一种常见的操作。Java提供了多种日期类...例如,Java日期计算可以用于计算两个日期之前的天数,排除节假日和周末。

    java 请假天数计算工具类

    使用Java 8的日期时间API(`java.time`包)来处理日期和时间,如计算两个日期之间的天数,判断是否为工作日等。同时,为了提高效率和减少数据库交互,可以利用Redis的特性,将部分计算结果缓存起来。 综上所述,这...

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

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

    获取两个日期类型相差天数

    获取两个日期之间的天数,使用整数计量而不是毫秒数约算,例:2017-11-26 23:59:59 与2017-11-27 00:00:00相差天数是1.

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

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

    JAVA时间工具类(计算法定工作日工时等)

    JAVA时间工具类(计算法定工作日工时):计算某个日期加上几个工作日后的一个工作日期(除周末和法定节假日),计算某个日期后一天的工作日期(除周末和法定节假日),计算两个日期的真实工作日(除周末和法定节假日),...

    Java节假日算法(免费)

    Java 节假日算法是指在给定的日期范围内,计算包含假期的天数的算法。在这个算法中,我们可以看到三个类分别是 DateToDate、Vacation 和 WorkDate。下面我们将详细解释这个算法的实现过程。 首先,DateToDate 类中...

    一个可以计算天数的软件

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

    SQL工作日计算,只排除周末

    在数据库管理和数据分析领域,准确地计算两个日期之间的有效工作日数量是一项非常实用的功能,特别是在需要排除周末(通常指周六和周日)的情况下。这种计算方法对于财务报告、项目管理以及人力资源规划等方面至关...

    2日期相隔天数计算

    例如,你可以计算两个日期之间的完整工作日数,这需要考虑周末和节假日。这通常需要更复杂的逻辑,可能需要借助专门的日历库,如Python的`pandas`库或者`workalendar`库。 在实际应用中,日期计算可能涉及到时区...

    java 日期帮助类

    - `daysBetween(Date date1, Date date2)`:计算两个日期之间的天数差。 - `monthsBetween(Date date1, Date date2)`:计算两个日期之间的月数差。 - `yearsBetween(Date date1, Date date2)`:计算两个日期之间...

    java小程序实现日历的计算

    这个程序的核心功能包括月历的输出、日期的判断以及计算两个日期之间的相差天数。下面将详细讲解这些知识点。 首先,月历的输出是通过Java的`Calendar`类或者Java 8中的`java.time`包来实现的。`Calendar`是Java...

    java得到下一个法定工作日期

    在Java编程中,获取下一个法定工作日期是一项常见的需求,特别是在处理日期相关的业务逻辑时,例如请假天数计算、工资结算等。这篇博文“java得到下一个法定工作日期”可能讲述了一个实用的方法来解决这个问题。通常...

    Days:用于计算两个日期之间差异的库

    Days 是一个专门为 Java 开发者设计的库,其主要功能是计算两个日期之间的差异,包括天数、工作日、周末以及工作日和节假日。这个库的出现,为开发者提供了更精确且灵活的方式来处理日期和时间的计算问题,尤其是在...

    2022年日期类型(工作日,节假日,周末,节假日调休)

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

    java版日历实现

    这两个类提供了丰富的API,如`YearMonth.of()`、`LocalDate.now()`等,使得日历的实现更为简洁。 ```java YearMonth yearMonth = YearMonth.of(2022, 2); for (LocalDate date = yearMonth.atDay(1); !date.isAfter...

    时间计算器

    "时间计算器"可能采用了类似的机制,用户只需输入两个日期,程序就会自动计算它们之间的总天数。这样的功能可能通过以下步骤实现: 1. 用户界面:用户界面提供两个日期输入框,允许用户输入日期,可以是年月日格式...

    求两个时间段内周六周日总天数

    【求两个时间段内周六周日总天数.php】 &lt;br&gt;很好的理解时间函数的代码,可借鉴。个人编写的一些小函数,喜欢的就留下吧

Global site tag (gtag.js) - Google Analytics