2017-04-04 15 views
0

我想從四分之一的日期獲取星期數。在java中獲取四分之一週的數字

從下面我可以得到一年的週數,但不能在本季度內。

String input = "20130805"; 
String format = "yyyyMMdd"; 

SimpleDateFormat df = new SimpleDateFormat(format); 
Date date = df.parse(input); 

Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 
int week = cal.get(Calendar.WEEK_OF_YEAR); 

結果應該是第三季度

+3

你能更具體關於你如何定義「每週季度」?是本季度第一個季度第一天的第一週,還是第一週至少有季度四天或類似天數? – devnull69

+0

'week = week%13;'? –

+2

我不能更強烈地建議不要使用傳統的'java.util.Calendar'和'java.util.Date'。您應該改用'java.time'包中的相應類。 –

回答

0

的週數做一個模將帶給你答案:

int x = 52/4; //52 week as ave in a year 
System.out.println(week); 
System.out.println("you are in the quartal number: " + (week/x + 1)); 
System.out.println("this is the week number: " + week % x + " in the quartal"); 
0

試試這個,

String input = "20130805"; 
String format = "yyyyMMdd"; 

SimpleDateFormat df = new SimpleDateFormat(format); 
Date date = df.parse(input); 

Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 
int weekForYear = cal.get(Calendar.WEEK_OF_YEAR); 
int previousQuarter = (date.getMonth()/3); 

System.out.println("No. of weeks for current Quarter: " + weekForYear - (previousQuarter*13)); 
相關問題