2016-04-27 47 views
1

我尝试获得“每周的一周”,所以问题基本上是我使用此代码获取一年中的这一周,但这给我错误的一周。 例如今天是27/04/16所以这段代码给我带来了18,但我在网上搜索和真正的一周是17. 什么我需要改变我的代码来获得第17周?在ISO 8601中获得WEEK_OF_YEAR

我试试这个..

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

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

此代码是Java 7的Android。 帮帮我。请。

谢谢

+0

这只是因为您的时区与日历的默认时区不同。将日历时区设置为你的。 – Pehlaj

+0

这给了我17,你是用真实的设备来试试这个吗? – Nirekin

+0

是的,这是在真实的设备 – exequielc

回答

1

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

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