use*_*492 2 java datetime date week-number
我想用Java中的日历类来获得今年的季度.我得到如下的当前日期,并使用WEEK_OF_YEAR变量得到如下的一周,但低于输出对我来说没有多大意义,因为本周不是今年的第三周.
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
System.out.println("week of year: "+cal.WEEK_OF_YEAR);
output: 2014/02/17
week of year: 3
Run Code Online (Sandbox Code Playgroud)
我想要做的是,我想要低于季度(目前Quarter1正在运行,下一季度是Quarter2)作为结果并在我的应用程序上使用它.
Quarter1 is from Week 1 to Week 12.
Quarter2 is from Week 13 to Week 24.
Quarter3 is from Week 25 to Week 37.
Quarter4 is from Week 38 to the end of the year.
Run Code Online (Sandbox Code Playgroud)
请帮助我,让我知道如何找到如上所述的宿舍.
Calendar.WEEK_OF_YEAR是一个常数.你想要的cal.get(Calendar.WEEK_OF_YEAR).
但是,你应该注意到"一年中的一周"并不像你想象的那么简单,作为一个概念.例如,它可以在1月1日为53,属于某些年份的前一周.你是否乐意在一年的第一季度开始,比1月1日晚开始?
(除非您确实需要为工作目的使用周/周/周/周的代表,否则年/月/日更容易理解.)
如果您确实需要在阅读这些警告后将周年翻译成四分之一,您可以使用:
public static int getQuarter(Calendar calendar) {
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
return weekOfYear < 13 ? 1
: weekOfYear < 25 ? 2
: weekOfYear < 38 ? 3
: 4;
}
Run Code Online (Sandbox Code Playgroud)