Введите ваш адрес почты


sdcvoy.ru
Понравился сайт? Поделись с друзьями!
Главная » Javascript » Data-i-vremya-v-javascript

Дата и время в JavaScript

Для работы с датой и временем используют объект Date. Синтаксис использования очень простой:

var имя_переменной = new Date();

Можно задавать дату используя аргумент-строку datestring то, есть:

new Date(year, month, date, hours, minutes, seconds, ms)

Надо заметить, что не обязательно указывать все параметры. Недостающие параметры которые начинаются с часа будут считаться, равными нулю, а дата равной единице:

var date = new Date(2016, 2, 24);
alert (date);  

В JavaScript существуют также методы, которые используются для получения времени. Давайте я перечислю их, а потом мы рассмотрим примеры: getFullYear(), getMonth(), getDate(), getHours(), getMinutes(), getSeconds(), getMilliseconds(). Стоит отметить что для получения текущего года используется метод getFullYear(), хотя некоторые браузеры и понимают метод getYear(), но запомните, что его не существует в стандарте. Рассмотрим небольшой пример:

var date = new Date();
alert( date.getDate() + "/"+ date.getMonth() + "/" + date.getFullYear() ); // выведет текущую дату день/месяц/год

Все методы выводят местное время, но есть также UTC-методы достаточно после get добавить UTC:

var date = new Date();
alert( date.getUTCHours() + ":"+ date.getMinutes() + ":" + date.getSeconds() );

Существуют и другие методы получения времени, например getTime() и getTimezoneOffset(). Первый из них возвращает число в миллисекундах, прошедших с 1 января 1970 года GMT+0, а второй показывает разницу между местным и UTC временем в минутах:

var date = new Date();
alert( date.getTime() ); 
alert( date.getTimezoneOffset() );  // Для GMT+5 выведет -300

Установка времени и даты

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

По аналогии с методами get существуют также UTC-методы, например: setUTCDay. Существует полезное свойство у объекта Date — это автоисправление даты:

var date = new Date(2016, 1, 30);
alert( date ); // 1 марта, 2016
date.setDate(date.getDate() - 1);
alert( date ); // 29 февраля, 2016 

Форматирование даты и времени

Для форматирования можно использовать метод toLocaleString(local, options). Этот метод поддерживается новым стандартом Ecma 402. Предлагаю просто взглянуть на пример:

var date = new Date(2016, 02, 24, 22, 18, 0);
var options = {
  era: 'long',
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  weekday: 'long',
  timezone: 'UTC',
  hour: 'numeric',
  minute: 'numeric',
  second: 'numeric'
};
alert( date.toLocaleString("ru", options) ); // четверг, 24 марта 2016 г. н.э. 22:18:00

Удобно? Ещё бы! Позже я как-нибудь напишу статью по всем этим параметрам.


Метод Date.parse позволяет разобрать на миллисекунды строку времени следующего типа: YYYY-MM-DDTHH:mm:ss.sssZ. А вот метод Date.now() возвращает дату сразу в виде миллисекунд:

var date = Date.now();
alert( date ); // Выведет текущую дату в миллисекундах


наверх