【发布时间】:2014-07-21 17:42:50
【问题描述】:
好的,所以我的代码一直运行良好,直到星期天。
我正在开发一个使用日历实用程序分配的应用程序,因此它以我认为的方式运行对我来说很重要!问题:
import java.util.Calendar;
...
Calendar test = Calendar.getInstance();
test.setFirstDayOfWeek(Calendar.MONDAY);
Log.e("WEEEK TEST:", ""+ test.get(Calendar.WEEK_OF_YEAR));
test.add(Calendar.WEEK_OF_YEAR, 1);
Log.e("WEEEK TEST:", ""+ test.get(Calendar.WEEK_OF_YEAR));
输出这个:
06-01 14:04:07.636 12005-12005/test.app E/WEEEK TEST:﹕ 23
06-01 14:04:07.636 12005-12005/test.app E/WEEEK TEST:﹕ 23
这怎么可能发生,我该如何解决?
【问题讨论】:
-
您的设备日期和时间是否正确?你今天做了那个测试吗?
-
是的,我今天测试了它,但我认为我的手机配置方式并不重要,因为我要添加一周,无论我手机上的日期是什么,它都应该添加一周。不应该吗?这周怎么可能是 23 周,一周后又是 23 周?
-
我发现了一个“hack”:在 setFirstDayOfWeek() 之后使用日历之前,必须先添加 -1,然后添加 1 周。
-
然后,你必须解释你的hack作为答案。这是一个黑客,但它仍然是一个解决方案。 :D
标签: android calendar java.util.calendar