【发布时间】:2016-10-07 05:12:08
【问题描述】:
我有以下代码
{
Calendar mSunday = getToday();
mSunday.add(Calendar.YEAR, 2);
mSunday.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
Calendar mMonday = getToday();
mMonday.add(Calendar.YEAR, 2);
mMonday.add(Calendar.WEEK_OF_YEAR, -1);
mMonday.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
}
public static Calendar getToday() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.AM_PM, 0);
return calendar;
}
我记录了日期,我想要的输出应该是
Sun Jun 03 00:00:00 IST 2018
Mon May 28 00:00:00 IST 2018
但是当我在三星 Note 2 中运行相同的代码时,我得到的输出为
Sun Jun 10 00:00:00 GMT+05:30 2018
Mon May 28 00:00:00 GMT+05:30 2018
有人可以解释一下为什么使用三星 Note 2 时的差异,因为 Calendar 是一个 Java 对象,应该独立于 android 版本模型或其他任何东西。
【问题讨论】: