JavaScript виконання коду JavaScript підключення зовнішнього файлу JavaScript console.log JavaScript змінні і константи JavaScript типи даних JavaScript операції зі змінними JavaScript перетворення даних JavaScript масиви JavaScript умовні конструкції JavaScript цикли JavaScript функції JavaScript область видимості змінних JavaScript замикання і функції IIFE JavaScript Паттерн Модуль JavaScript рекурсивні функції JavaScript перевизначення функцій JavaScript hoisting JavaScript передача параметрів за значенням і за посиланням JavaScript стрілочні функції JavaScript ООП Object JavaScript ООП вкладені об'єкти і масиви в об'єктах JavaScript ООП перевірка наявності і перебір методів і властивостей JavaScript ООП об'єкти у функціях JavaScript ООП конструктори об'єктів JavaScript ООП розширення об'єктів. prototype JavaScript ООП інкапсуляція JavaScript ООП Функція як об'єкт. Методи call і apply JavaScript ООП спадкування JavaScript ООП Ключове слово this JavaScript ООП Object destructuring JavaScript ООП класи JavaScript ООП Date. Робота з датами JavaScript Об'єкт Math. математичні операції JavaScript Об'єкт Array. Робота з масивами JavaScript ООП об'єкт Number JavaScript String JavaScript String Об'єкт RegExp. Регулярні вирази JavaScript String Регулярні вирази в методах String JavaScript String Синтаксис регулярних виразів JavaScript Робота з браузером і BOM JavaScript діалогові вікна JavaScript Історія браузера. об'єкт history JavaScript об'єкт location JavaScript об'єкт navigator JavaScript таймери JavaScript DOM Введення JavaScript DOM Об'єкт document. Пошук елементів JavaScript DOM Властивості об'єкта document JavaScript DOM Об'єкт Node. Навігація по DOM JavaScript DOM Створення, додавання і видалення елементів веб-сторінки JavaScript DOM Об'єкт Element. управління елементами JavaScript DOM Зміна стилю елементів JavaScript події. Введення в обробку подій. JavaScript події обробники JavaScript події. об'єкт Event JavaScript події. поширення подій JavaScript події миші JavaScript події клавіатури JavaScript FORMS. Форми і їх елементи JavaScript FORMS. Кнопки JavaScript FORMS. текстові поля JavaScript FORMS. Прапорці та перемикачі JavaScript FORMS. Список select JavaScript JSON JavaScript зберігання даних. cookie JavaScript зберігання даних. Web Storage JavaScript Collection. Ітератори JavaScript Collection. Генератори JavaScript Collection. Множина Set JavaScript Collection. Map JavaScript Collection. WeakSet і WeakMap JavaScript AJAX. XMLHttpRequest JavaScript AJAX. Відправка даних JavaScript AJAX. Promise в Ajax-запитах

JavaScript ООП Date. Робота з датами


Крім можливості створювати свої об'єкти JavaScript також надає набір вбудованих типів об'єктів, які ми можемо застосовувати в різних ситуаціях.


Об'єкт Date. Робота з датами

Об'єкт Date дозволяє працювати з датами і часом в JavaScript.

Існують різні способи створення об'єкта Date . Перший спосіб полягає у використанні порожнього конструктора без параметрів:

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

У цьому випадку об'єкт буде вказувати на поточну дату комп'ютера.

Другий спосіб полягає в передачі в конструктор Date кількості мілісекунд, які пройшли з початку епохи Unix, тобто з 1 січня 1970 року 00:00:00 GMT:

var myDate = new Date(1359270000000);
document.write(myDate);               // Sun Jan 27 2013 10:00:00 GMT+0300 (RTZ 2 (зима))

Третій спосіб полягає в передачі в конструктор Date дня, місяця і року:

var myDate = new Date("27 March 2008");

// або так
// var myDate = new Date("3/27/2008");

document.write(myDate); // Thu Mar 27 2008 00:00:00 GMT+0300 (RTZ 2 (зима))

Якщо ми використовуємо повну назва місяця, то вона пишеться по-англійськи, якщо використовуємо скорочений варіант, тоді використовується формат місяць / день / рік.

Четвертий спосіб полягає в передачі в конструктор Date всіх параметрів дати і часу:

var myDate = new Date(2012,11,25,18,30,20,10); // Tue Dec 25 2012 18:30:20 GMT+0300 (RTZ 2 (зима))

В даному випадку використовуються по порядку наступні параметри: new Date(рік, місяць, число, час, хвилини, секунди, мілісекунди) . При цьому треба враховувати, що відлік місяців починається з нуля, тобто січень - 0 , а грудень - 11 .


Отримання дати і часу

Для отримання різних компонентів дати застосовується ряд методів:

  • getDate () : повертає день місяця

  • getDay () : повертає день тижня (відлік починається з 0 - неділя, і останній день - 6 - субота)

  • getMonth () : повертає номер місяця (відлік починається з нуля, тобто місяць з номер 0 - січень)

  • getFullYear () : повертає рік

  • toDateString () : повертає повну дату у вигляді рядка

  • getHours() : повертає час (від 0 до 23)

  • getMinutes () : повертає хвилини (від 0 до 59)

  • getSeconds () : повертає секунди (від 0 до 59)

  • getMilliseconds () : повертає мілісекунди (від 0 до 999)

  • toTimeString () : повертає повний час у вигляді рядка

Отримаємо поточну дату:

var days = ["Неділя", "Понеділок", "Вторник", "Середа", "Четвер", "П'ятниця", "Субота"];
var months = ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", 
            "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"];
             
var myDate = new Date();
var fullDate = "Сьогодні: " + myDate.getDate() + " " + months[myDate.getMonth()] + 
                " " + myDate.getFullYear() + ", " + days[myDate.getDay()];
document.write(fullDate); // Сьогодні: 15 Серпень 2019, Четвер 

Для перекладу з числових значень в більш звичні назви для днів тижня і місяців використовуються масиви. Отримавши індекс дня тижня ( myDate.getDay() ) і індекс місяці ( myDate.getMonth() ) можна отримати потрібний елемент з масиву.

Тепер отримаємо поточний час:

var welcome;
var myDate = new Date();
var hour = myDate.getHours();
var minute = myDate.getMinutes();
var second = myDate.getSeconds();

if (minute < 10) {
    minute = "0" + minute;
}

if (second < 10) {
    second = "0" + second;
}

if (hour < 12) {
    welcome = "Доброе утро";
} else if (hour < 17) {
    welcome = "Добрий день";
} else {
    welcome = "Добрий вечір";
}

document.write(welcome + ", даний час: " + hour + 
                ":" + minute + ":" + second); // Добрий вечір, даний час: 22:50:39

Установка дати і часу

Крім задання параметрів дати в конструкторі для установки ми також можемо використовувати додаткові методи об'єкта Date :

  • setDate () : установка дня у даті

  • setMonth () : уставовка місяця (відлік починається з нуля, тобто місяць з номер 0 - січень)

  • setFullYear () : встановлює рік

  • setHours () : час установки

  • setMinutes() : установка хвилин

  • setSeconds() : установка секунд

  • setMilliseconds () : установка мілісекунд

Встановим дату:

var days = ["Неділя", "Понеділок", "Вторник", "Середа", "Четвер", "П'ятниця", "Субота"];
var months = ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень",
        "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"];
             
var myDate = new Date();

myDate.setDate(15);
myDate.setMonth(6);
myDate.setYear(2013);
 
var fullDate = myDate.getDate() + " " + months[myDate.getMonth()] + 
                " " + myDate.getFullYear() + ", " + days[myDate.getDay()];

document.write(fullDate); // 15 Січень 2019, Понеділок

При установці значень ми можемо передати величину, більшу, ніж максимальне допустиме значення. Наприклад, встановити для години число 54 :

myDate.setHour(54);

У цьому випадку значення години дорівнюватиме 54 - 24 * 2 = 6 , а решту годин становитимуть два дні ( 24 * 2 ), що додасть до дати два дні. Те ж саме діє і відносно днів, хвилин, секунд, мілісекунд і місяців.


Наш партнер:
beta test mp3 playlist downloader