Урок 14

Классы Calendar и Date


Для удобной работы с датой и временем в Java используются классы Calendar и Date.  Оба класса находятся в библиотеке java.util.

1. Класс Date

Класс Date хранит время в миллисекундах начиная с 1 января 1970 года.

Данный класс имеет конструктор по умолчанию, который возвращает текущее время.

Можно создать объект Date используя конструктор, который принимает количество миллисекунд начиная с 1 января 1970 года. Для получения этого внутреннего времени используется метод getTime().

После создания можно изменить время с помощью setTime(long date).

Пример 1. Использование класса Date

import java.util.Date;

public class DateDemo1 {
    public static void main(String[] args) {
        Date date1 = new Date();
        System.out.println("Текущая дата: " + date1);
        System.out.println("Количество мс: " + date1.getTime());
        System.out.println();

        Date date2 = new Date(12121212);
        System.out.println("Установленная дата: " + date2);
        date2.setTime(34343434);
        System.out.println("Измененная дата: " + date2);
    }
}

2. Класс Calendar

Абстрактный класс Calendar позволяет преобразовать время в миллисекундах в более удобном виде - год, месяц, день, часы, минуты, секунды. Его единственный подкласс - GregorianCalendar.

Пример 2. Использование класса Calendar

import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalendarDemo1 {
    public static void main(String[] args) {
        //календарь на текущую дату
        Calendar calendar1 = new GregorianCalendar();
        System.out.println("Календарь на текущую дату: " + calendar1.getTime());

        //календарь на 25.12.2013
        Calendar calendar2 = new GregorianCalendar(2013, 11, 25);
        calendar2.add(Calendar.DAY_OF_YEAR, 1); //увеличиваем дату на 1 день
        // 26.12.2013
        System.out.println("Календарь на 26.12.2013: " + calendar2.getTime());

        calendar2.add(Calendar.MONTH, -1);
        System.out.println("Календарь на 26.11.2013: " + calendar2.getTime());

        calendar2.roll(Calendar.DAY_OF_MONTH, 10);
        System.out.println("Календарь после roll: " + calendar2.getTime());
    }
}

Пример 3. Использование класса Calendar

import java.util.Calendar;

public class CalendarDemo2 {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        System.out.println("Месяц " + calendar.get(Calendar.MONTH));
        System.out.println("Год " + calendar.get(Calendar.YEAR));
        System.out.println("Неделя в месяце "
                + calendar.get(Calendar.WEEK_OF_MONTH));
        System.out.println("Неделя в году "
                + calendar.get(Calendar.WEEK_OF_YEAR));
        System.out.println("День в году " + calendar.get(Calendar.DAY_OF_YEAR));
        System.out.println("День в месяце "
                + calendar.get(Calendar.DAY_OF_MONTH));
        if (Calendar.MONDAY == calendar.getFirstDayOfWeek()) {
            System.out.println("Первый день недели - Понедельник");
        }
    }
}


0 comments
Leave your comment: