2015-09-04 46 views
8

如何使用Calendar API從給定日期獲取日期編號。使用java日曆API的特定日期編號

實施例:
02/01/2016是在2016年的第一個星期六(導致1
10/01/2015是在2015年的第二個星期六(導致2

我想我可以使用星期號

int week = calendar.get(Calendar.WEEK_OF_YEAR); 

但是當我們有53周的先例時它不起作用

例子:09/01/2016將返回1時,它的2016年

+0

貝瓦爾e Calendar.WEEK_OF_YEAR的定義因Locale而異。 –

+0

你還沒有定義對你來說每年的一年。您的意思是[ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date)標準定義(日曆年的第一個星期四是星期一開始的第一週)?或者你的意思是第一週有1月1日?或者第一週有第一個星期天還是其他星期幾?還有別的嗎? –

回答

0

解決了它的第二個週六與setMinimalDaysInFirstWeek()

1 - 我把週數,因爲我需要它:int weekNbr = cal.get(Calendar.WEEK_OF_YEAR);

2 - 我設置的數在第一個星期天到1:cal.setMinimalDaysInFirstWeek(1);

3週數現在將反映在週末的正確數量:int weekendNbr = cal.get(Calendar.WEEK_OF_YEAR);