Date
Дата и время
Класс Date
абстрагирует большую часть работы с датами напрямую. Это позволяет нам представлять моменты во времени как объекты и манипулировать ими заранее определёнными методами. Используя возможности класса Date
можно создавать часы, счетчики, календари и другие интерактивные элементы интефрейса.
Создание даты
Экземпляр объекта Date
это объект представляющий определённый момент времени. Создание даты без аргументов, возвращает объект хранящий дату и время на момент его инициализации, то есть текущие. В строчном преобразовании объект возвращает результат вызова метода toString()
, поэтому в первом логе мы получим строку, а не объект.
Unix время
Внутренне даты представлены в миллисекундах прошедших с полночи 1 января 1970 года в часовом поясе UTC. Для компьютера это дата начала отсчета всего времени - Unix время. Поэтому при инициализации даты одним числом, оно представляет собой количество прошедших миллисекунд.
Метод getTime()
возвращает числовое представление даты (timestamp
) - количество миллисекунд прошедших с полночи 1 января 1970 года.
Удобство этого формата заключается в том, что можно представлять точные моменты времени в виде одного числа и не беспокоиться о датах, строках и часовых поясах, так как можно получить всю необходимую информацию когда необходимо.
Установка даты
При создании экземпляра класса Date
, можно установить дату строкой или числами. Строка может описывать только дату или дату и время.
Установка времени в виде строк внутренне вызывает метод Date.parse()
, который преобразует строку в число - количество миллисекунд. Именно поэтому формат передаваемой строки очень гибкий. Например, можно не указывать ноль для дней и месяца. Рассмотрим несколько примеров, которые приведут к одинаковому результату.
Другой способ создания новых объектов - это передать семь чисел, которые описывают год, месяц (начинается с 0), день, часы, минуты, секунды и миллисекунды. Обязательны только первые три.
Методы
Экземпляр класса Date
имеет множество методов для чтения и записи значений даты и времени. Методы возвращают или присваивают год, месяц, день месяца или недели, час, минуту, секунду и миллисекунду для каждого экземпляра. Эти данные могут быть представлены в виде строки с учетом местного календаря или языка.
Геттеры
Геттеры используются для чтения всей даты или отдельной составляющей. Возвращаемое значение зависит от текущего часового пояса установленного на вашем компьютере.
Скопировать
Существуют эквивалентные версии этих методов, которые возвращают значения в формате UTC (Coordinated Universal Time), а не адаптированные к текущему часовому поясу пользователя.
Сеттеры
Все, что можно прочитать можно записать, методы для записи называются также как геттеры, но начинаются с приставки set
. Также для всех методов есть их UTC эквивалент.
Форматирование даты
Объект даты может быть представлен в разных строчных и числовых форматах. Для этого существует целый набор методов. Например, toString()
, toDateString()
и toTimeString()
возвращают стандартное строчное представление, не заданное жёстко в стандарте, а зависящее от браузера. Единственное требование к нему - читаемость человеком. Метод toString()
возвращает дату целиком, а toDateString()
и toTimeString()
- только дату и время соответственно.
Last updated