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());
автор: Bond

Порада

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

автор: Bond
Нотатка

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

автор: Bond
Нотатка

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

автор: Bond
Нотатка

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

Приклад:

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

Синтаксис

getUTCMilliseconds()

Повернення

integer

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

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 1 4 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

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

автор: Bond

У цьому прикладі ми створили функцію 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} мілісекунд.`);
автор: Bond

У цьому прикладі ми створюємо два об'єкти дати, 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("Дати відбулися в різний час.");
}
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід