Работа с датами в JavaScript

Оцените материал
(0 голосов)

Здравствуйте! В этом уроке рассмотрим работу с датой и временем в JavaScript. Для работы с датой используется встроенный объект Date, который позволяет работать с датой и временем в JavaScript.

Создание даты в JavaScript.

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

var currDate = new Date();
document.write(currDate);

В этом случае объект будет указывать на текущую дату компьютера.

Работа с  датой и временем JavaScript

 

 А вот второй способ заключается в передаче в конструктор Date количества миллисекунд, которые прошли  с 1 января 1970 года 00:00:00 GMT:

var mydate = new Date(1359270000000);
document.write(mydate); // Sun Jan 27 2013 10:00:00 GMT+0300 

B последний 3  способ состоит в передаче в класс Date собственно дня, месяца и года:

var mydate = new Date("27 March 2008");
document.write(mydate); // Thu Mar 27 2008 00:00:00 GMT+0300 (RTZ 2 (зима))

Если вы используете полное название месяца, то оно будет написано по-английски, а вот  если используете сокращенный вариант написания даты, тогда используется такой формат месяц/день/год.

Получение даты и времени

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

  • getDate(): получает день месяца
  • getDay(): получает день недели (отсчет начинается с 0 - воскресенье, и последний день - 6 - суббота) возвращается цифра, а не слово день недели.
  • getMonth(): получает номер месяца (отсчет начинается с нуля, то есть месяц с номером 0 - январь)
  • getFullYear(): получает год в формате YYYY (2017)
  • toDateString(): получает полную дату в виде строки
  • getHours(): получает час (от 0 до 23)
  • getMinutes(): получает минуты (от 0 до 59)
  • getSeconds(): получает секунды (от 0 до 59)
  • getMilliseconds(): получает миллисекунды (от 0 до 999)
  • toTimeString(): получает время в виде строки

Рассмотрим пример на получение даты и времени:

var day = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"];
var mon = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
            "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
             
var mydate = new Date();
var fuldate = "Сегодня: " + mydate.getDate() + " " + mon[mydate.getMonth()] +
                " " + mydate.getFullYear() + ", " + day[mydate.getDay()];
document.write(fuldate); 

Просмотреть  пример

В примере для преобразования из цифр в слова для месяцев года и дней недели используются массивы, в которых перечисляются соответственно дни недели и месяцы, затем с помощью методов getMonth() и getDay(), котрые возвращают числа получаем индекс массива (о массивах в JavaScript я писал здесь).

Рассмотрим пример, в котором будем выводить приветствие в зависимости от времени суток.

var wel;
var mydate = new Date();
var h = mydate.getHours();
var min = mydate.getMinutes();
var sec = mydate.getSeconds();
if (min < 10) {
    min = "0" + min;
}
if (sec < 10) {
    sec = "0" + sec;
}
if (h < 12) {
    wel = "Доброе утро";
} else if (h < 17) {
    wel = "Добрый день";
} else {
    wel = "Добрый вечер";
}
document.write(wel + ", текущее время: " + h +
                ":" + min + ":" + sec); 

Просмотреть  пример

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

Кроме получения параметров даты и времени  можно также устанавливать дату и время для этого используются следующие методы

  • setDate(): устанавливает день 
  • setMonth(): устанавливает месяц
  • setFullYear(): устанавливает год
  • setHours(): установливает час
  • setMinutes(): установливает минуты
  • setSeconds(): установливает секунды
  • setMilliseconds(): установливает миллисекунды

Пример на установку даты:

var day = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четвег", "Пятница", "Суббота"];
var mon = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
            "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
             
var mydate = new Date();
mydate.setDate(15);
mydate.setMonth(6);
mydate.setYear(2013);
 
var fuldate = mydate.getDate() + " " + mon[mydate.getMonth()] +
                " " + mydate.getFullYear() + ", " + day[mydate.getDay()];
document.write(fuldate); 

Просмотреть  пример

Итоги

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

Отсчёт месяцев начинается с нуля, то есть январь имеет индекс 0

Отсчёт дней недели (для getDay()) также  начинается с нуля (и  первый  день недели это воскресенье).

Если преобразовать  дату к числу мы получим количество миллисекунд,  которые прошли с 1 января 1970 UTC. Есть и побочное следствие – даты можно вычитать, результатом будет разница в миллисекундах. Так можно получать разницу между датами.

Задания

Создайте дату

Создайте дату 22 ноября 2016 года 12:00:25. Временная зона местная и выведите ее на экран.

Найти разницу между датами

Напишите функцию diffDays(date1, date2) которая бы подсчитывала разницу меду двумя датами в днях.

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

Напишите функцию formDate(date1), которая выводит дату в формате дд.мм.гг

Например:

 

var dat = new Date(2017, 0, 30); // 30 января 2017
alert( formDate(dat) ); // '30.01.17'

В заключении смотрите видеоурок по работе с датой и временем в JavaScript.

Прочитано 390 раз Последнее изменение Суббота, 30 сентября 2017 15:43
Другие материалы в этой категории:
Понравилась запись? Подпишитесь на обновления по почте:

Нетология

TemplateMonster

geekbrains.ru/

Поиск по сайту

Google+