在ISO 8601中获得WEEK_OF_YEAR

时间:2016-04-27 11:50:15

标签: java android calendar iso8601

我试图获得一年中的#34周,所以问题基本上是我使用这段代码来获取一年中的一周,但这给了我错误的一周。 例如今天是27/04/16所以这个代码给我带来了18但我在线搜索,真实的一周是17。 我需要更改我的代码以获得第17周?

我试试这个..

    Calendar calendar = new GregorianCalendar();
    calendar.setTime(new Date());  
    weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);

而且这个。

    Calendar calendar = Calendar.getInstance()
    calendar.setTime(new Date());  
    weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);

在维基百科 https://en.wikipedia.org/wiki/ISO_week_date#First_week

4月14日至17日这个星期四 5月18日至22日

此代码在Java 7 Android中。 帮我。请。

由于

1 个答案:

答案 0 :(得分:1)

所以,答案是使用德语区域设置来获得一年中的第17周。在ISO8901中。

Calendar calDe = Calendar.getInstance(Locale.GERMAN);
calDe.setTime(new Date());
weekOfYear = calDe.get(Calendar.WEEK_OF_YEAR);