日历对象在三星音符2上给出两个不同的日期

时间:2016-06-07 10:35:46

标签: android datetime calendar

我有以下代码

{
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

但是当我在Samsung Note 2中运行相同的代码时,我得到的输出为

Sun Jun 10 00:00:00 GMT+05:30 2018
Mon May 28 00:00:00 GMT+05:30 2018

有人可以解释为什么使用Samsung Note 2时的差异,因为Calendar是一个Java对象,应该独立于Android版本模型或者无论如何。

1 个答案:

答案 0 :(得分:1)

我曾在日历上工作过。你只需要在日历对象中使用Local。

相关问题