【发布时间】:2018-12-15 03:18:35
【问题描述】:
我在6/7/2018 上运行以下代码,以便从返回的任何日期中省略周末。但是,代码似乎将以下几天确定为周末。
13/7/2018 - Friday & 14/7/2018 - Saturday
而不是
14/7/2018 - Saturday & 15/7/2018 - Sunday
我正在更新指示的字段以增加/减少我想选择的未来天数。
如果我输入 5 天,则返回日期为 12/7/2018,如果我输入 6 天,则返回日期为 15/7/2018。
有什么明显的我遗漏的,任何帮助将不胜感激。
Date date=new Date();
Calendar calendar = Calendar.getInstance();
date=calendar.getTime();
SimpleDateFormat s;
s=new SimpleDateFormat("dd/MM/yyyy");
System.out.println(s.format(date));
int days = 5; //I am updating this value to increase and decrease days
for(int i=0;i<days;)
{
calendar.add(Calendar.DAY_OF_MONTH, 1);
//here even sat and sun are added
//but at the end it goes to the correct week day.
//because i is only increased if it is week day
if(calendar.get(Calendar.DAY_OF_WEEK)<=5)
{
i++;
}
}
date=calendar.getTime();
s=new SimpleDateFormat("dd/MM/yyyy");
System.out.println(s.format(date));
【问题讨论】:
-
我一直在寻找答案,目前找不到我要找的东西,否则不会在这里发布。对此是新手,之前没有使用过日期,所以如果你能指出我正确的文档方向,那将非常感谢。根据我一直在阅读的内容尝试了许多不同的方法来更新代码,但遗憾的是没有得到想要的结果。
-
为什么要投反对票?我发现这个问题清晰而有用。虽然研究工作可能不是很清楚,但我相信它已经完成了。这个问题非常清楚所期望的行为以及观察到的行为有何不同,它提供了一个关于最小的示例,并且肯定是完整的和可验证的。大多数第一个 Stack Overflow 问题都没有这个问题那么好。
标签: java weekday java.util.calendar date