我想得到一周的第一天,但我有一个奇怪的错误。如果我使用此代码:
Calendar cal = Calendar.getInstance();
cal.set(2017, 0, 1);
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault());
Log.d(TAG, "Date: " + dateFormat.format(cal.getTime()));
我的日志显示错误的日期:D/Activity: Date: lundi 2 janvier 2017
但是,如果我getTime()
像这样使用该方法:
Calendar cal = Calendar.getInstance();
cal.set(2017, 0, 1);
cal.getTime(); // Here
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault());
Log.d(TAG, "Date: " + dateFormat.format(cal.getTime()));
我的日志显示正确的日期:D/Activity: Date: lundi 26 décembre 2016
我的手机使用法语,所以我的一周从星期一开始。
有人知道为什么吗?