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

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

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

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

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

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

JS метод Date.getUTCMilliseconds()

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

Date.prototype.getUTCMilliseconds() – це метод у JavaScript, призначений для отримання кількості мілісекунд від початку поточної секунди згідно з універсальним координованим часом (UTC). Даний метод забезпечує точність роботи з часом у межах мілісекунди, що робить його незамінним у ряді ситуацій.

Основна особливість Date.prototype.getUTCMilliseconds() в тому, що він завжди повертає результат згідно з UTC, незалежно від часової зони, в якій знаходиться користувач. Тому, коли ви використовуєте цей метод, ви можете бути впевнені в точності отриманого результату.

let currentDate = new Date('2021-07-20T09:26:00.123Z');
console.log(currentDate.getUTCMilliseconds()); // 123

У цьому прикладі ми створили дату з конкретною кількістю мілісекунд та вивели їх на консоль з допомогою нашого методу.

Розглянемо декілька практичних сценаріїв.

  1. Робота з логами: При аналізі логів часових міток у різних часових зонах важливо мати можливість отримувати UTC мілісекунди для синхронізації.
let logDate = new Date('2023-05-10T11:45:30.567Z');
console.log(`Log timestamp: ${logDate.getUTCMilliseconds()} ms`);
  1. Вимірювання різниці часу між подіями: Наприклад, ви можете використовувати цей метод для вимірювання часу завантаження сторінки.
let startTime = new Date();

// Припустимо, після цього йде якийсь код або завантаження ресурсу...

let endTime = new Date();
let timeDifference = endTime - startTime;

let msDifference = timeDifference % 1000;

console.log(`The process took ${msDifference} ms.`);
  1. Створення унікальних ідентифікаторів: Мілісекунди можуть бути частиною унікального ідентифікатора, особливо якщо вам потрібна висока точність.
function generateUniqueID() {
    let currentUTCDate = new Date();
    return `${currentUTCDate.getTime()}-${currentUTCDate.getUTCMilliseconds()}`;
}

console.log(generateUniqueID());
Нотатка:

Хоча Date.prototype.getUTCMilliseconds() є дуже корисним у конкретних ситуаціях, важливо розуміти його відмінність від локального методу getMilliseconds(). Перший завжди повертає UTC час, тоді як другий – локальний час користувача. В залежності від вашої задачі, виберіть той, який найкраще підходить для вас.

Нотатка:

Новачки часто плутають Date.prototype.getUTCMilliseconds() з Date.prototype.getMilliseconds(). Головна відмінність між ними полягає в тому, що перший повертає кількість мілісекунд від початку секунди за UTC, тоді як другий діє за локальним часом користувача. Завжди переконайтеся, що ви використовуєте правильний метод для ваших потреб.

Приклад:

let currentDate = new Date();
console.log(currentDate.getUTCMilliseconds()); // UTC час
console.log(currentDate.getMilliseconds()); // Локальний час
Нотатка:

Зверніть увагу, що JavaScript оперує мілісекундами, але не всі середовища виконання можуть надати точність до однієї мілісекунди. У випадках, коли необхідна надвисока точність, можливо, доведеться використовувати спеціалізовані бібліотеки або інші методи.

Порада:

При роботі з розподіленими системами або при синхронізації даних між серверами різних часових зон, завжди надавайте перевагу UTC часу. Використовуючи Date.prototype.getUTCMilliseconds(), ви можете забезпечити консистентність та точність ваших часових міток.

Синтаксис

getUTCMilliseconds()

Параметри

Return

integer

Повертає число від 0 до 999, яке представляє мілісекунди в указаному об'єкті Date, взяте за координованим всесвітнім часом (UTC).

Переглядачі

Переглядач

1

1

1

4

12

Переглядач

4.4

18

4

1

Переглядач

0.10.0

1.0

Приклади


В цьому прикладі, користувач може бачити годинник у форматі UTC, який показує час до мілісекунд, і може стартувати та зупиняти його, натискаючи кнопку.

У цьому прикладі ми створили функцію sleep(), яка імітує затримку на вказану кількість мілісекунд. Для вимірювання часу виконання цієї функції ми використовуємо Date.prototype.getUTCMilliseconds(). В результаті ми отримуємо різницю в мілісекундах між початковим і кінцевим часом виконання.

// Створюємо демонстраційну функцію, яка "засинає" на вказану кількість мілісекунд
function sleep(milliseconds) {
    const date = Date.now();
    let currentDate = null;
    do {
        currentDate = Date.now();
    } while (currentDate - date < milliseconds);
}

// Вимірюємо час виконання функції sleep
let startTime = new Date();  // Початковий час
sleep(100);  // Викликаємо функцію, яка "засинає" на 100 мс
let endTime = new Date();  // Кінцевий час

// Рахуємо різницю між початковим і кінцевим часами в мілісекундах
let elapsedMilliseconds = endTime.getUTCMilliseconds() - startTime.getUTCMilliseconds();

console.log(`Функція sleep виконувалася протягом ${elapsedMilliseconds} мілісекунд.`);

У цьому прикладі ми створюємо два об'єкти дати, date1 та date2. date2 створюється з невеликою випадковою різницею від date1. За допомогою методу Date.prototype.getUTCMilliseconds() ми можемо перевірити, чи відбулися ці дві дати в одну і ту ж мілісекунду.

// Створюємо дві дати з випадковою різницею в мілісекундах (від 0 до 2)
let date1 = new Date();
let date2 = new Date(date1.getTime() + Math.floor(Math.random() * 3));

// Перевіряємо, чи обидві дати відбулися в одну і ту ж мілісекунду
if(date1.getUTCMilliseconds() === date2.getUTCMilliseconds()) {
    console.log("Обидві дати відбулися в одну і ту ж мілісекунду!");
} else {
    console.log("Дати відбулися в різний час.");
}