Java日历使用Calendar.DAY\u OF_WEEK获取特定日期的第一个和最后一个日期
在我的应用程序中,有一段代码有时会突然工作,它是关于通过calendar.DAY\u OF_week使用java calendar对象获得一周间隔。 检查的代码为星期一作为一周的开始,星期天作为一周的结束,如下所示: fromCal.set(Calendar.DAY\u OF_WEEK,Calendar.MONDAY); toCal.set(Calendar.DAY\u OF_WEEK,Calendar.SUNDAY); toCal设置为最后一个星期日,而不是即将到来的星期日。 除了这种硬编码之外,还有其他的方法吗 提前告知帮助 谢谢Java日历使用Calendar.DAY\u OF_WEEK获取特定日期的第一个和最后一个日期,java,calendar,Java,Calendar,在我的应用程序中,有一段代码有时会突然工作,它是关于通过calendar.DAY\u OF_week使用java calendar对象获得一周间隔。 检查的代码为星期一作为一周的开始,星期天作为一周的结束,如下所示: fromCal.set(Calendar.DAY\u OF_WEEK,Calendar.MONDAY); toCal.set(Calendar.DAY\u OF_WEEK,Calendar.SUNDAY); toCal设置为最后一个星期日,而不是即将到来的星期日。 除了这种硬编码之
Vaibhav我想你必须将一周的开始时间设置为周一,否则上周日就是一周的周日 setFirstDayOfWeek public void设置星期一的第一天(int值)
我想你必须把一周的开始时间设置为周一,否则上周日就是一周的周日 setFirstDayOfWeek public void设置星期一的第一天(int值)
问题在现场。在英语(美国)中,星期天是一周的第一天。 检查此代码:
Calendar cal = Calendar.getInstance(Locale.ENGLISH);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println("FirstDayOfWeek="+cal.getFirstDayOfWeek());
System.out.println(cal.getTime().toString());
cal = Calendar.getInstance(Locale.FRANCE);
System.out.println("FirstDayOfWeek="+cal.getFirstDayOfWeek());
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println(cal.getTime().toString());
问题在现场。在英语(美国)中,星期天是一周的第一天。 检查此代码:
Calendar cal = Calendar.getInstance(Locale.ENGLISH);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println("FirstDayOfWeek="+cal.getFirstDayOfWeek());
System.out.println(cal.getTime().toString());
cal = Calendar.getInstance(Locale.FRANCE);
System.out.println("FirstDayOfWeek="+cal.getFirstDayOfWeek());
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println(cal.getTime().toString());
在这里要非常清楚你想要的行为。首先是一个日历对象,其“现在”是一周中的某一天,可能是“今天”。您可以访问呼叫集(每周的第天,…)。如果日历上的今天是星期二,你想要什么效果?星期天?星期一 正如在其他答案中所观察到的,所发生的事情取决于日历对一周的第一天的看法。因此,首先将其设置为您选择的值。然后(根据本周的星期日和星期一,这可能不是你想要的-如果今天是星期日,你到底需要什么?-一些系统实际上可能正在“思考”下周
就我个人而言,根据一些业务规则,我可能会得到我的星期一,然后再加上6天来得到星期天。请在这里非常清楚您想要的行为。您可以从一个日历对象开始,该对象的“现在”是一周中的某一天,可能是“今天”。您可以调用集合(周中的某一天,…).如果日历上的今天是星期二?星期天?星期一,你希望有什么效果 正如在其他答案中所观察到的,所发生的事情取决于日历对一周的第一天是什么的看法。因此,首先将其设置为您选择的值。然后(根据当前一周中的星期日和星期一,这可能不是您想要的-如果今天是星期日,您到底需要什么?-一些系统实际上可能是“思考”下周 就我个人而言,我可能会根据一些业务规则获得星期一,然后通过添加6天来获得星期日。set(DAY_OF u WEEK)始终在当前周(WEEK_OF u YEAR)内调整set(DAY_OF u WEEK)始终在当前周(WEEK_OF u YEAR)内调整