Задача

Как прокрутить часы и месяцы в Java?

Решение

В этом примере показано, как прокручивать месяцы (без изменения года) или часы (без изменения месяца или года), используя метод roll() календаря класса.

import java.util.*;

public class Main {
   public static void main(String[] args) throws Exception {
      Date d1 = new Date();
      Calendar cl = Calendar. getInstance();
      
      cl.setTime(d1);
      System.out.println("today is "+ d1.toString());
      
      cl. roll(Calendar.MONTH, 100);
      System.out.println("дата через месяц будет " + cl.getTime().toString() );
      
      cl. roll(Calendar.HOUR, 70);
      System.out.println("дата после 7 часов будет "+ cl.getTime().toString() );
   }
}

Результат

Вышеприведенный пример кода даст следующий результат:

сегодня Mon Jun 22 02:44:36 IST 2009
дата через месяц будет Thu Oct 22 02:44:36 IST 2009
дата после 7 часов будет Thu Oct 22 00:44:36 IST 2009

Ниже приведен еще один пример.

import java.util.Calendar;

public class CalendarExample {
   public static void main(String[] args) {
      Calendar cal = Calendar.getInstance();
		System.out.println("Время: " + cal.getTime());
		
      cal.roll(Calendar.YEAR, false);
		System.out.println("Время -1 год: " + cal.getTime());
		
      cal.roll(Calendar.HOUR, true);
		System.out.println("Время +1 час: " + cal.getTime());
   }
}

Результат

Вышеприведенный пример кода даст следующий результат:

Время: Fri Nov 11 07:01:31 UTC 2016
Время -1 год: Wed Nov 11 07:01:31 UTC 2015
Время +1 час: Wed Nov 11 08:01:31 UTC 2015

Оглавление