gpt4 book ai didi

java - 使用 Java 仅获取工作日

转载 作者:行者123 更新时间:2023-12-02 06:39:28 26 4
gpt4 key购买 nike

我有一个要求,比如当我将值插入到数据库的表中时,我需要设置目标日期,该日期与插入之日相距 3 个月。例如:如果我在 2013 年 11 月 9 日插入数据,我的目标日期将是 2014 年 2 月 9 日、2015 年 5 月 9 日等。我还将这些目标日期存储在相应的列中。为此,我使用日历函数并向当前实例添加 3 个月。现在,企业不希望我的目标日期是周六或周日。如果出现,我需要添加所需的天数,以便它在工作日出现。

关于我们如何做到这一点的任何建议

最佳答案

从你已经知道的事情开始。您知道可以使用日历来添加/减去值并生成结果值......

Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.DATE, 9);
cal.set(Calendar.MONTH, Calendar.NOVEMBER);
cal.set(Calendar.YEAR, 2013);
System.out.println("Start at " + cal.getTime());

cal.add(Calendar.MONTH, 3);
System.out.println("End at " + cal.getTime());

哪个输出...

Start at Sat Nov 09 00:00:00 EST 2013
End at Sun Feb 09 00:00:00 EST 2014

现在,您需要使用这个概念来移动这一天,直到它不是周末。您可以使用 Calendar.DAY_OF_WEEK 获取“日”名称,然后根据您的业务规则在 Calendar.DATE 中添加或减去一天,例如...

while (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
cal.add(Calendar.DATE, 1);
}
System.out.println("Should end at " + cal.getTime());

这将(基于前面的示例)输出...

Should end at Mon Feb 10 00:00:00 EST 2014

仔细看看Calendar了解更多详情

关于java - 使用 Java 仅获取工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19286947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com