`
过儿oO
  • 浏览: 54448 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

计算两个时间的区间内有多少个星期几

 
阅读更多
public class TestUtil {

	public static int howManyDayOfWeek(String startDateStr, String endDateStr, int dayOfWeek) {
		int manyDayOfWeek = 0;
		Calendar calStart = getCalendar(startDateStr, "-");
		Calendar calEnd = getCalendar(endDateStr, "-");
		int balance = dayOfWeek - calStart.get(Calendar.DAY_OF_WEEK);
		//加上差值
		calStart.add(Calendar.DATE, balance);
		//如果差值是负数就多加一周
		if (balance < 0) {
			calStart.add(Calendar.WEEK_OF_MONTH, 1);
		}
		while (calStart.before(calEnd) || calStart.equals(calEnd)) {
			calStart.add(Calendar.WEEK_OF_MONTH, 1);
			manyDayOfWeek++;
		}
		return manyDayOfWeek;
	}
	
	public static void main(String[] args) {
		//1代表周日,2代表周一,以此类推
		int dayOfWeek = 1;
		System.out.println(TestUtil.howManyDayOfWeek("2009-03-01", "2009-03-31", dayOfWeek)+"个");
	}
	/**
	 * @deprecated 日期转化
	 * @param dateStr
	 * @param splitor
	 * @return
	 */
	private static Calendar getCalendar(String dateStr, String splitor) {
		Calendar cal = Calendar.getInstance();
		String[] dateArr = dateStr.split(splitor);
		cal.set(Integer.parseInt(dateArr[0]), Integer.parseInt(dateArr[1]) - 1, Integer.parseInt(dateArr[2]));
		
		return cal;
	}

}
分享到:
评论

相关推荐

    判断日期范围内是否存在星期几

    这个函数接受起始日期、结束日期和目标星期几作为参数,然后遍历这个日期区间,如果找到目标星期几,就立即返回True;否则,遍历完成后返回False。 这个话题在实际开发中非常实用,尤其是在处理日期和时间相关的...

    C#获取两个时间的时间差并去除周末(取工作日)的方法

    在C#编程中,有时候我们需要计算两个日期之间的工作日数量,而不是简单的总天数。这通常涉及到项目管理、工时计算或业务数据分析等场景。本文将详细解析如何使用C#获取两个日期之间的工作日时间差,并去除周末的影响...

    ABAP常用日期函数总结.pdf

    3. **HR_HK_DIFF_BT_2_DATES**:这个函数用于计算两个日期之间的天数,但具体细节未给出,通常此类函数会考虑日期之间的完整天数,包括周末和节假日。 4. **FIMA_DATE_CREATE**:此函数用于获取指定日期的上个月的...

    完整版日期设置模块.rar

    4. **时间区间计算**:模块应能处理时间间隔,比如计算两个日期之间的差距,或者判断一个日期是否在另一个日期之前或之后。这通常涉及计算两个日期对象之间的时间差。 5. **时区处理**:考虑到全球时区差异,日期...

    python基础练习(100题)

    - **题目描述**:判断101-200之间有多少个素数,并输出所有素数。 - **解题思路**: - 使用循环遍历指定范围内的所有数。 - 对每个数使用素数检测算法。 **【程序13】** - **题目描述**:打印出所有的“水仙花数...

    Mysql 时间模糊查询

    DATEDIFF函数用于计算两个日期之间的差值(单位可以是秒、分钟、小时、天、月、年等),通常用于比较日期是否相同。例如: ```sql SELECT * FROM table1 WHERE DATEDIFF(DAY, time, '2006-04-01') = 0; ``` 这里`...

    日期处理工具类

    类中可能还有`dateInterval(Date startDate, Date endDate)`方法,用于计算两个日期之间的日期区间,可能返回一个日期集合或一个表示日期差值的整数。 7. **时间戳转换** 有时我们需要将日期转换为时间戳(Unix...

    蓝桥杯2013JAVA本科B组回忆版真题

    我们可以使用编程语言(如Java)来计算,考虑到公历中非闰年每四年会有一天的偏差,而每400年又是闰年,因此我们可以编写一个循环,每次增加100年,检查该世纪的最后一年是否为闰年,并计算对应的星期几,直到找到下...

    Oracle 中的日期格式转化.pdf

    例如,`FLOOR`函数可以用来计算两个日期之间的天数差: ```sql SELECT FLOOR(sysdate - TO_DATE('20020405', 'yyyymmdd')) FROM dual; ``` 如果某个日期字段的值可能是NULL,使用TO_DATE(null)可以表示为空日期。在...

    treetime时间模块

    4. 时间区间操作:可能会提供方便的方法来计算两个时间点之间的时间差,或者判断是否在某个时间区间内。 5. 格式化增强:除了默认的`strftime`格式,可能还提供了额外的格式选项,更便于定制时间的显示样式。 6. ...

    oracle date函数.docx

    如果我们要计算某个日期是否在特定月份内,如`a_date BETWEEN TO_DATE('20011201', 'yyyymmdd') AND TO_DATE('20011231', 'yyyymmdd')`,那么这个区间不包含边界时间点的后一时刻,即12月31日12点之后的时间不在范围...

    Oracle中日期格式字段处理[归类].pdf

    4. 计算两个日期之间的天数差: ```sql SELECT FLOOR(SYSDATE - TO_DATE('20020405', 'yyyymmdd')) FROM DUAL; ``` 5. 处理日期字段为NULL的情况,使用`TO_DATE(NULL)`: ```sql SELECT 1, TO_DATE(NULL) FROM...

    Python datetimes made easy.zip

    4. **日期和时间差分**:`pendulum`支持直接计算两个日期时间之间的差值,可以得到天数、小时数、分钟数等结果。 5. **格式化和解析**:除了标准的`strftime`和`strptime`方法,`pendulum`还提供了一些额外的格式化...

    基于python计算并显示日间、星期客流高峰

    首先,定义了两个列表:`time` 和 `person` 分别存储时间区间和对应的人数。例如: ```python time = ['08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00'] person = ['572', '1236'...

    oracle日期处理.docx

    例如,比较两个日期是否在同一月份,可以使用`to_char()`函数转换为字符串格式并比较月份部分。 总的来说,Oracle的日期处理提供了丰富的函数和操作,使得在处理时间相关的业务逻辑时更为方便。理解并熟练运用这些...

    USACO题解整理版

    FridaytheThirteenth(friday)这题需要对日期和星期的计算有一定的理解。算法中通过数组记录每个月的天数,并考虑闰年,利用模运算求解每月13日对应的星期几。这个问题实际上运用了历法计算和模运算的知识。 ...

    南师地信考研 C(含数据结构)

    - 计算星期几:根据给定的日期,通过计算得出是星期几。这涉及到闰年的判断和日期的转换。 8. **编程规范**: - 程序设计要求不仅包括实现功能,还要求画出算法流程图,这有助于理解算法的逻辑和调试程序。 以上...

Global site tag (gtag.js) - Google Analytics