`
yanyanquan
  • 浏览: 452814 次
  • 性别: Icon_minigender_1
  • 来自: 江门
社区版块
存档分类
最新评论

计算从beginDate到endDate的工作日

阅读更多
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;
  }
分享到:
评论

相关推荐

    js中 计算两个日期间的工作日的简单实例

    在JavaScript中,有时我们需要计算两个日期之间的工作日数量,而非包含周末或节假日的总天数。这个需求在处理工作计划、项目进度或者数据分析时非常常见。以下是一个简单的JavaScript实例,展示了如何计算两个日期间...

    K3考勤计算公式分析

    **案例描述**:某公司员工小张在一个工作日内忘记打卡,系统自动检测到打卡异常,并通过智能补签卡计算公式,根据小张的正常工作时间自动补录了一次打卡记录,避免了因疏忽而导致的考勤异常。 **问题重现**:在小张...

    根据beginDate和endDate获取股票数据

    在获取到数据后,我们可以对数据进行进一步的处理和分析,比如计算收益率、绘制图表、进行技术指标分析等。在开发过程中,了解如何存储和清洗数据也很重要,可以使用`pandas`库进行数据清洗和转换,使用数据库如...

    JavaScript计算某一天是星期几的方法

    在JavaScript中,计算某一天是星期几涉及到日期和时间的处理。JavaScript的Date对象提供了处理日期和时间的能力。本文将详细介绍如何使用JavaScript实现这个功能,以及相关知识点。 首先,JavaScript中的Date对象...

    js判断时间权限设置

    - **开始时间**:通过`tingkevalue[3]`获取到字符串格式的日期,然后按照年、月、日分别提取。 - `var begindate = tingkevalue[3];` - `var beginYear = begindate.substring(0, begindate.indexOf("-"));` - `...

    javaScript和java中日期相减得出天数方案

    - 使用`Date.parse()`函数可以将一个表示日期的字符串解析成一个自1970年1月1日00:00:00 UTC起至该时间的毫秒数。 - 计算两个日期之间的毫秒数差值。 - 将毫秒数差值转换为天数(一天有24小时,每小时60分钟,每...

    javaScript和java中日期相减得出天数方案.docx

    ### JavaScript与Java中计算两日期间相差天数的方法 #### JavaScript 实现方法 在JavaScript中,经常需要计算两个日期之间的差距来得出它们相隔的天数。以下是一种常见的实现方式: 1. **`Date.parse()` 方法**:...

    C#获取每个年,月,周的起始日期和结束日期的方法

    - 对于周(Week),我们首先获取当前日期是星期几,然后根据这个值计算本周的起始日期(例如,如果是星期日,起始日期为上周的星期一),结束日期为本周的星期六。 - 对于日(Day),起始和结束日期都为当前日期。 ...

    用例的静态设计1

    这个用例可能涉及到复杂的业务逻辑,如计算额外服务费用、折扣等,并将结果存储到Bill文件中。 5. **PrintBill()**:打印账单。与PrintRDR类似,此功能用于输出客户账单,便于结算或作为收据留存。 最后,提到了...

    获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用

    在实际应用中,你可以根据需求调整DATEDIFF的单位,例如,如果你需要计算工作日的差值,可以使用`wk`作为单位,并考虑到周末和节假日。同时,还可以结合其他函数,如CASE语句或IF语句,来处理特定情况,比如判断某个...

    动态结构设计-前台1

    生成账单的过程需要准确无误,通常会涉及到复杂的业务逻辑和数据计算。 6. **PrintBill()**: 类似于PrintRDR,PrintBill功能用于打印客人的账单。在酒店管理软件中,这一步是结账流程的关键部分,确保客户清楚...

    linux 获取某个日期对应的月末日期方法

    然而,注意到在Shell脚本中,我们不能直接在单引号内插入变量,所以我们需要使用双引号并将变量放在其中。以下是完整的一个示例: ```bash # 定义起始日期 begindate='2015-11-01' # 计算下个月的第一天 mid=$...

    对游标的理解和应用

    在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 游标有两种类型:显式游标和...

    Python获取时间范围内日期列表和周列表的函数

    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...

    TimeRandomUtil.txt

    在这个例子中,程序将输出一个介于 2023 年 1 月 1 日至 2023 年 1 月 31 日之间的随机日期时间。 2. **应用场景**: - **数据测试**:在进行数据库或应用程序的压力测试时,需要生成大量模拟数据,此时可以...

    FQuantTooLBoxV1.2使用注意点整理(by群友 达达@成都)1

    这里需要注意的是,`GetIndexList_Web` 函数可能会因为网络问题或者交易所网站结构的变化而无法正常工作。因此,在实际使用过程中,如果遇到任何问题,建议检查网络连接以及确认交易所网站是否有所更改。 #### 二、...

    日期操作工具类

    * 计算两个日期间的秒数 * @param beginDate * @param endDate * @return * @throws ParseException */ public static long getSecondBetweenDate(String beginDate, String endDate) throws Parse...

    javascript将字符串类型转换成日期进行比较

    该格式为一个连续的数字串,表示年月日,如“20100823”代表2010年8月23日。为了将其转换为可以进行比较的日期对象,我们需要使用正则表达式来匹配和替换这些数字串。 ```javascript function dateValid() { var ...

Global site tag (gtag.js) - Google Analytics