我想得到一周的第一天,但我有一个奇怪的错误。 如果我使用此代码:
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
我的手机使用法语,所以我的星期一是星期一开始的。
有人知道为什么吗?