当前位置: 首页 > 面试题库 >

寻找下一个工作日

郁权
2023-03-14
问题内容

假设我在数据库中存储了一堆假期。

我需要做的是找出下一个工作日,不包括数据库中定义的星期六和公众假期。

例如。

假设今天是2月15日(星期五),而17日和18日是公众假期(在数据库中定义为日期时间)。因此,现在当我按下显示下一个工作日的按钮时,它将返回2月19日。

哪种方法最有效?


问题答案:

最简单

第1步:从数据库获取假期并将其格式化为您的格式,并将其保留在 List<String>

第2步:创建一个增加天数的方法。

public static Date addDays(Date d, int days) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(d);
    cal.add(Calendar.DATE, days);
    return cal.getTime();
}

步骤3:建立寻找假期的方法。

public boolean isBankHoliday(java.util.Date d) {
    Calendar c = new GregorianCalendar();
    c.setTime(d);
    if((Calendar.SATURDAY == c.get(c.DAY_OF_WEEK)) || (Calendar.SUNDAY == c.get(c.DAY_OF_WEEK)) || bankHolidays.contains(dString)) {
        return (true);
    } else {
        return false;
    }
}

步骤4:获取您的输入日期。检查银行假期,循环直到找到工作日。

while (isBankHoliday(myDate)) {
    myDate = addDays(myDate, 1);
}


 类似资料:
  • 本文向大家介绍在JavaScript中寻找下一个leap年,包括了在JavaScript中寻找下一个leap年的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个函数,该函数需要一个正整数n并返回下一个n个leap年的数组。我们将把这个问题分为三个部分- 第1部分:通过JS查找当前年份 通过JS查找当前年份的代码将是- 第2部分:检查leap年 现在,我们将编写一个isLeap()函数,该函

  • 如何在数据集中找到几个最小值中的第一个?我希望至少2大于最小值。 例如, 我想将df['value'][0]或者简单地说(0.6)标识为这个数组中的第一个最小值。然后将df[‘值’][4]或(2.8)确定为至少比第一个确定的最小值(0.6)大2的值。 这适用于其他数据集,但在最小值为第一个时不适用。 理想的输出是: 正如评论中建议的那样,循环将是更好的方法。

  • 我是一个完整的编程初学者,所以请原谅我的天真。 我想用Python制作一个程序,让我打印给定的数量的素数,其中由用户输入。我搜索了一下“for/while”循环,并做了一些修补。我运行了一个我在网上看到的程序,并修改了它来适应这个问题。代码如下: 如有任何澄清,将不胜感激。太感谢你们了!

  • 职业列表 [编辑注:这是为pentest.cryptocity.net编写的一篇较老的文章,我们正在更新过程中。] 以下这些是基于我已有的经验和你情况的不同而写的对于信息安全职业生涯的看法。如果你住在纽约市,而且对于应用安全、渗透测试或逆向工程感兴趣,刚刚踏入信息安全领域开始你的职业生涯,那么以下信息会对你非常适合。 雇主 角色 书本中学习 课程中学习 大学 CTF比赛 沟通 见人 会议 认证 链

  • 考研失败  2023.2.24 又在疯狂的投简历,明天有一个面试(我第一个面试),希望能从中学到些什么。 2.25 中国联通上海市分公司-售前技术支撑(一面) 自我介绍 你考过研吗? 你为什么没有校外实践? 你手里有offer吗? 你对售前技术支撑的了解是什么? 你觉得你哪些方面符合这个职位的需求? 面完她就说后面还有个测评,我问她对我这次面试有什么建议吗,她说没有,我感觉几率也不大。 2.26

  • 问题内容: 我正在处理hibernate问题,当我打开当前项目时,我发现我的Session-Factory已过时: AnnotationConfiguration现在似乎已被弃用…所以我检查了JavaDoc,并得知它已移至: org.hibernate.cfg.Configuration 到目前为止,我的代码运行良好,实际上我不想更改它。但是我在Google上搜索,发现有人问自己同样的问题,为什么