Можно ли вычесть время из календаря?
например,
.....
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-го числа этого месяца?
На другой ноте, котораяrelated:
Я не уверен, прав ли я или нет, но хранит ли экземпляр календаря время в миллисекундах?
например, 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 );
Что я ожидаю от этого выше, так это то, что мойдействие вычислит, какой день года является календарным объектом, и удалит из него 51840000 миллисекунд.
Кто-нибудь может помочь?
Три разных вопроса, разделенных строками