public static int[] work_rest_all(String beginDate, String endDate)
throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 代表自然日(一天就代表一个自然日)
int natureDay = 0;
// 代表休息日,假定周六周日休息
int restDay = 0;
// 如果开始时间为空,则为当前日期
Calendar now = Calendar.getInstance();
if (beginDate != null) {
try {
now.setTime(sdf.parse(beginDate));
} catch (ParseException e) {
e.printStackTrace();
throw new ParseException("\n"
+ "DateUtils.work_rest_all() was error", 1);
}
}
Calendar end = Calendar.getInstance();
try {
Date date = sdf.parse(endDate);
end.setTime(date);
} catch (ParseException e) {
e.printStackTrace();
throw new ParseException("\n"
+ "DateUtils.work_rest_all() was error", 2);
}
String ss = sdf.format(end.getTime());
if (now.before(end)) {
while (!sdf.format(now.getTime()).equals(ss)) {
if (now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
|| now.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
restDay++;
}
natureDay++;
now.add(Calendar.DAY_OF_YEAR, 1);
}
}
int[] result = { natureDay - restDay, restDay, natureDay };
return result;
}
分享到:
相关推荐
在JavaScript中,有时我们需要计算两个日期之间的工作日数量,而非包含周末或节假日的总天数。这个需求在处理工作计划、项目进度或者数据分析时非常常见。以下是一个简单的JavaScript实例,展示了如何计算两个日期间...
**案例描述**:某公司员工小张在一个工作日内忘记打卡,系统自动检测到打卡异常,并通过智能补签卡计算公式,根据小张的正常工作时间自动补录了一次打卡记录,避免了因疏忽而导致的考勤异常。 **问题重现**:在小张...
在获取到数据后,我们可以对数据进行进一步的处理和分析,比如计算收益率、绘制图表、进行技术指标分析等。在开发过程中,了解如何存储和清洗数据也很重要,可以使用`pandas`库进行数据清洗和转换,使用数据库如...
在JavaScript中,计算某一天是星期几涉及到日期和时间的处理。JavaScript的Date对象提供了处理日期和时间的能力。本文将详细介绍如何使用JavaScript实现这个功能,以及相关知识点。 首先,JavaScript中的Date对象...
- **开始时间**:通过`tingkevalue[3]`获取到字符串格式的日期,然后按照年、月、日分别提取。 - `var begindate = tingkevalue[3];` - `var beginYear = begindate.substring(0, begindate.indexOf("-"));` - `...
- 使用`Date.parse()`函数可以将一个表示日期的字符串解析成一个自1970年1月1日00:00:00 UTC起至该时间的毫秒数。 - 计算两个日期之间的毫秒数差值。 - 将毫秒数差值转换为天数(一天有24小时,每小时60分钟,每...
### JavaScript与Java中计算两日期间相差天数的方法 #### JavaScript 实现方法 在JavaScript中,经常需要计算两个日期之间的差距来得出它们相隔的天数。以下是一种常见的实现方式: 1. **`Date.parse()` 方法**:...
- 对于周(Week),我们首先获取当前日期是星期几,然后根据这个值计算本周的起始日期(例如,如果是星期日,起始日期为上周的星期一),结束日期为本周的星期六。 - 对于日(Day),起始和结束日期都为当前日期。 ...
这个用例可能涉及到复杂的业务逻辑,如计算额外服务费用、折扣等,并将结果存储到Bill文件中。 5. **PrintBill()**:打印账单。与PrintRDR类似,此功能用于输出客户账单,便于结算或作为收据留存。 最后,提到了...
在实际应用中,你可以根据需求调整DATEDIFF的单位,例如,如果你需要计算工作日的差值,可以使用`wk`作为单位,并考虑到周末和节假日。同时,还可以结合其他函数,如CASE语句或IF语句,来处理特定情况,比如判断某个...
生成账单的过程需要准确无误,通常会涉及到复杂的业务逻辑和数据计算。 6. **PrintBill()**: 类似于PrintRDR,PrintBill功能用于打印客人的账单。在酒店管理软件中,这一步是结账流程的关键部分,确保客户清楚...
然而,注意到在Shell脚本中,我们不能直接在单引号内插入变量,所以我们需要使用双引号并将变量放在其中。以下是完整的一个示例: ```bash # 定义起始日期 begindate='2015-11-01' # 计算下个月的第一天 mid=$...
在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 游标有两种类型:显式游标和...
def dateRange(beginDate, endDate): dates = [] dt = datetime.datetime.strptime(beginDate, %Y-%m-%d) date = beginDate[:] while date <= endDate: dates.append(date) dt = dt + datetime.timedelta(1...
在这个例子中,程序将输出一个介于 2023 年 1 月 1 日至 2023 年 1 月 31 日之间的随机日期时间。 2. **应用场景**: - **数据测试**:在进行数据库或应用程序的压力测试时,需要生成大量模拟数据,此时可以...
这里需要注意的是,`GetIndexList_Web` 函数可能会因为网络问题或者交易所网站结构的变化而无法正常工作。因此,在实际使用过程中,如果遇到任何问题,建议检查网络连接以及确认交易所网站是否有所更改。 #### 二、...
* 计算两个日期间的秒数 * @param beginDate * @param endDate * @return * @throws ParseException */ public static long getSecondBetweenDate(String beginDate, String endDate) throws Parse...
该格式为一个连续的数字串,表示年月日,如“20100823”代表2010年8月23日。为了将其转换为可以进行比较的日期对象,我们需要使用正则表达式来匹配和替换这些数字串。 ```javascript function dateValid() { var ...