java - 更改日历时间(java.util.Calendar)

标签 java android calendar alarmmanager

是否可以从日历中减去时间?

例如

.....
Calendar DueTime      = Calendar.getInstance();
Calendar ReminderTime = Calendar.getInstance();

int ReminderMinute = 5;

DueTime.set(DueYear, DueMonth, DueDay, DueHour, DueMinute);

    Day   = Day   - reminderDays   ;
    Day   = Day   - (Week*7)       ;
    Month = Month - reminderMonths ;
    Year  = Year  - reminderYears  ;
    Hour  = Hour  - reminderHours  ;
    Minute= Minute- reminderMinutes;

    ReminderTime.set(Year, Month, Day, Hour, Minute  );
    ReminderTime.add(Calendar.DAY_OF_MONTH , - Day   );
    ReminderTime.add(Calendar.MONTH        , - Month );
    ReminderTime.add(Calendar.YEAR         , - Year  );
    ReminderTime.add(Calendar.HOUR         , - Hour  );
    ReminderTime.add(Calendar.MINUTE       , - Minute);
<小时/>

如果上述可行,我想知道的另一个问题是...

reminderDays = 60;

那么这也会进入之前的一个月吗?

假设到期日是当月的 31 号,而前一个月有 30 天,那么提醒日是该月的 1 号吗?

<小时/>

另一个相关的注释:

我不确定我是否正确,但日历实例是否以毫秒为单位存储时间?

例如1 分钟为 600 毫秒,一小时为 36000 毫秒

所以如果我这样做:

ReminderTime.add(Calendar.HOUR         , - 1  );

它所做的就是将 -36000 添加到该日历对象中存储的总时间

如果这是真的,会这样做:

ReminderTime.add(Calendar.DAY_OF_MONTH , - 60   );

结果减去了 51840000 毫秒?或者我需要改变

ReminderTime.add(Calendar.DAY_OF_MONTH , - 60   );

ReminderTime.add(Calendar.DAY_OF_YEAR  , - 60   ); 

这将是在我调用之后:

ReminderTime.set(Year, Month, Day, Hour, Minute  );

我对上面的期望是,我的 Activity 将计算该日历对象是一年中的哪一天,并从中删除 51840000 毫秒。

<小时/>

有人可以帮忙吗?

这里有三个不同的问题,用线分隔

最佳答案

三个问题,两个陈述,您应该能够自己回答。

1)是的,您可以通过添加负数来进行减法,如您所写。

2) 字段进位,就像个位、十位、百位一样。因此,如有必要,DAY_OF_MONTH 减去 60 将会转入上个月或上个月或上一年。它将调整日历 60 天

附注1 分钟不是 60 毫秒! 60 x 1000 = 60,000 毫秒

关于java - 更改日历时间(java.util.Calendar),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9046668/

相关文章:

c - c 中的一个月日历

java - 无法在spring mvc应用程序中加载静态资源

java - 有没有办法强制应用程序在使用主页按钮后始终从 Activity1 开始?

java - TextView文字颜色不变

python - 使用 Selenium 和 Python 的日历选择器

ios - 自定义 UICollectionViewCell(collectionviewcell 内的 tableview)

java - 我的对象类到武器类和装甲类的继承是什么

java - 收到回复消息,但接收线程因超时而退出

java - 为什么 HTMLDocument 会忽略空格

java - 无法访问 jsoup