2015-09-04 44 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);