Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS метод Date.setSeconds()

Загальний опис

Date.prototype.setSeconds() є методом об'єкта Date в JavaScript, що дозволяє встановлювати секунди для дати. Його головна задача - зміна значення секунд в існуючому об'єкті дати.

Припустимо, у вас є інтерфейс таймера на веб-сайті, і ви хочете дати користувачам можливість встановлювати конкретну кількість секунд. У такому випадку:

let currentTimer = new Date();
currentTimer.setSeconds(45);
console.log(currentTimer);

У цьому прикладі ми встановлюємо кількість секунд на 45 для об'єкта currentTimer.

Однак важливо зауважити, що Date.prototype.setSeconds() може приймати ще два додаткових параметри, що є необов'язковими: секунди та мілісекунди. Це означає, що ви також можете вказати додаткову інформацію про мілісекунди:

let currentTimer = new Date();
currentTimer.setSeconds(45, 500);
console.log(currentTimer);

Тут ми встановлюємо секунди на 45 і мілісекунди на 500.

Якщо ви вказуєте значення, яке виходить за рамки діапазону (наприклад, 65 секунд), JavaScript автоматично скоригує хвилини і секунди об'єкта Date. Наприклад, якщо встановити 65 секунд, то хвилини збільшаться на одиницю, а секунди будуть встановлені в 5.

Нотатка:

Якщо ви встановлюєте значення, що виходить за рамки нормального діапазону секунд (0-59), то Date.prototype.setSeconds() автоматично скоригує інші частини дати. Це може бути корисним, але також може призвести до неочікуваних результатів. Наприклад, якщо встановити 90 секунд:

let dateExample = new Date();
dateExample.setSeconds(90);
console.log(dateExample); // Виведе час із збільшенням на хвилину.
Порада:

Перш ніж передавати значення у метод setSeconds(), завжди переконайтеся, що воно є числом і входить у потрібний вам діапазон. Передавання некоректних даних може призвести до створення дати Invalid Date, яка може спричинити проблеми у подальшій роботі.

Порада:

Якщо ви часто використовуєте специфічні операції із датами, розгляньте можливість розширення прототипу Date. Це дозволить вам створювати власні методи, які будуть взаємодіяти з setSeconds() або іншими методами. Однак будьте обережні: не змінюйте вбудовані методи, щоб уникнути потенційних проблем з сумісністю.

Синтаксис

setSeconds(secondsValue)
setSeconds(secondsValue, msValue)

Параметри

*secondsValue

Ціле число від 0 до 59, яке представляє секунди.

msValue

Ціле число від 0 до 999, яке представляє мілісекунди.

Return

timestamp

Метод змінює об'єкт Date безпосередньо, повертаючи його новий штамп часу (timestamp). Якщо параметр є NaN (або іншими значеннями, які перетворюються на NaN, такими як undefined), дата встановлюється як "Invalid Date", і метод повертає NaN.

Переглядачі

Переглядач

1

1

1

3

12

Переглядач

4.4

18

4

1

Переглядач

0.10.0

1.0

Приклади


Цей код демонструє, як можна використовувати метод Date.prototype.setSeconds(), для встановлення значення секунд для об'єкта Date. У користувача є можливість ввести значення секунд, яке він хоче встановити, і після натискання кнопки, буде виведено новий об'єкт Date з оновленими секундами.

У цьому прикладі ми використовуємо setSeconds() для того, щоб додати 1 секунду до поточної дати, імітуючи роботу таймера. Інтервал setInterval викликається кожну секунду і показує, скільки секунд залишилося до завершення таймера.

let countdownDate = new Date(); // Задаємо поточний час
countdownDate.setMinutes(countdownDate.getMinutes() + 1); // Додаємо 1 хвилину до поточного часу

const countdown = setInterval(() => {
    let currentDate = new Date(); // Поточний час
    
    let difference = countdownDate - currentDate; // Різниця між заданою датою та поточним часом
    
    if (difference <= 0) {
        clearInterval(countdown); // Зупиняємо таймер
        console.log("Час вийшов!");
    } else {
        let seconds = Math.floor((difference / 1000) % 60);
        currentDate.setSeconds(currentDate.getSeconds() + 1); // Додаємо 1 секунду
        console.log("Залишилося секунд: " + seconds);
    }
}, 1000);

У цьому прикладі ми маємо масив дат datesArray. За допомогою методу map() ми ітеруємося по кожному елементу масиву і використовуємо setSeconds(45), щоб встановити секунди на значення "45" для кожної дати. Таким чином, ми отримаємо масив дат із однаковим значенням секунд.

let datesArray = [new Date(), new Date(2023, 8, 20, 14, 55), new Date(2025, 2, 15, 11, 30)];

// Встановлюємо секунди на "45" для всіх дат у масиві
datesArray = datesArray.map(date => {
    date.setSeconds(45);
    return date;
});

console.log(datesArray); // Виводимо масив дат із однаковими секундами