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#获取两个日期之间的工作日时间差,并去除周末的影响...
3. **HR_HK_DIFF_BT_2_DATES**:这个函数用于计算两个日期之间的天数,但具体细节未给出,通常此类函数会考虑日期之间的完整天数,包括周末和节假日。 4. **FIMA_DATE_CREATE**:此函数用于获取指定日期的上个月的...
4. **时间区间计算**:模块应能处理时间间隔,比如计算两个日期之间的差距,或者判断一个日期是否在另一个日期之前或之后。这通常涉及计算两个日期对象之间的时间差。 5. **时区处理**:考虑到全球时区差异,日期...
- **题目描述**:判断101-200之间有多少个素数,并输出所有素数。 - **解题思路**: - 使用循环遍历指定范围内的所有数。 - 对每个数使用素数检测算法。 **【程序13】** - **题目描述**:打印出所有的“水仙花数...
DATEDIFF函数用于计算两个日期之间的差值(单位可以是秒、分钟、小时、天、月、年等),通常用于比较日期是否相同。例如: ```sql SELECT * FROM table1 WHERE DATEDIFF(DAY, time, '2006-04-01') = 0; ``` 这里`...
类中可能还有`dateInterval(Date startDate, Date endDate)`方法,用于计算两个日期之间的日期区间,可能返回一个日期集合或一个表示日期差值的整数。 7. **时间戳转换** 有时我们需要将日期转换为时间戳(Unix...
我们可以使用编程语言(如Java)来计算,考虑到公历中非闰年每四年会有一天的偏差,而每400年又是闰年,因此我们可以编写一个循环,每次增加100年,检查该世纪的最后一年是否为闰年,并计算对应的星期几,直到找到下...
例如,`FLOOR`函数可以用来计算两个日期之间的天数差: ```sql SELECT FLOOR(sysdate - TO_DATE('20020405', 'yyyymmdd')) FROM dual; ``` 如果某个日期字段的值可能是NULL,使用TO_DATE(null)可以表示为空日期。在...
4. 时间区间操作:可能会提供方便的方法来计算两个时间点之间的时间差,或者判断是否在某个时间区间内。 5. 格式化增强:除了默认的`strftime`格式,可能还提供了额外的格式选项,更便于定制时间的显示样式。 6. ...
如果我们要计算某个日期是否在特定月份内,如`a_date BETWEEN TO_DATE('20011201', 'yyyymmdd') AND TO_DATE('20011231', 'yyyymmdd')`,那么这个区间不包含边界时间点的后一时刻,即12月31日12点之后的时间不在范围...
4. 计算两个日期之间的天数差: ```sql SELECT FLOOR(SYSDATE - TO_DATE('20020405', 'yyyymmdd')) FROM DUAL; ``` 5. 处理日期字段为NULL的情况,使用`TO_DATE(NULL)`: ```sql SELECT 1, TO_DATE(NULL) FROM...
4. **日期和时间差分**:`pendulum`支持直接计算两个日期时间之间的差值,可以得到天数、小时数、分钟数等结果。 5. **格式化和解析**:除了标准的`strftime`和`strptime`方法,`pendulum`还提供了一些额外的格式化...
首先,定义了两个列表:`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'...
例如,比较两个日期是否在同一月份,可以使用`to_char()`函数转换为字符串格式并比较月份部分。 总的来说,Oracle的日期处理提供了丰富的函数和操作,使得在处理时间相关的业务逻辑时更为方便。理解并熟练运用这些...
FridaytheThirteenth(friday)这题需要对日期和星期的计算有一定的理解。算法中通过数组记录每个月的天数,并考虑闰年,利用模运算求解每月13日对应的星期几。这个问题实际上运用了历法计算和模运算的知识。 ...
- 计算星期几:根据给定的日期,通过计算得出是星期几。这涉及到闰年的判断和日期的转换。 8. **编程规范**: - 程序设计要求不仅包括实现功能,还要求画出算法流程图,这有助于理解算法的逻辑和调试程序。 以上...