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
У цьому прикладі ми створили дату з конкретною кількістю мілісекунд та вивели їх на консоль з допомогою нашого методу.
Розглянемо декілька практичних сценаріїв.
- Робота з логами: При аналізі логів часових міток у різних часових зонах важливо мати можливість отримувати UTC мілісекунди для синхронізації.
let logDate = new Date('2023-05-10T11:45:30.567Z');
console.log(`Log timestamp: ${logDate.getUTCMilliseconds()} ms`);
- Вимірювання різниці часу між подіями: Наприклад, ви можете використовувати цей метод для вимірювання часу завантаження сторінки.
let startTime = new Date();
// Припустимо, після цього йде якийсь код або завантаження ресурсу...
let endTime = new Date();
let timeDifference = endTime - startTime;
let msDifference = timeDifference % 1000;
console.log(`The process took ${msDifference} ms.`);
- Створення унікальних ідентифікаторів: Мілісекунди можуть бути частиною унікального ідентифікатора, особливо якщо вам потрібна висока точність.
function generateUniqueID() {
let currentUTCDate = new Date();
return `${currentUTCDate.getTime()}-${currentUTCDate.getUTCMilliseconds()}`;
}
console.log(generateUniqueID());
Нотатка: | Хоча |
Нотатка: | Новачки часто плутають Приклад:
|
Нотатка: | Зверніть увагу, що JavaScript оперує мілісекундами, але не всі середовища виконання можуть надати точність до однієї мілісекунди. У випадках, коли необхідна надвисока точність, можливо, доведеться використовувати спеціалізовані бібліотеки або інші методи. |
Порада: | При роботі з розподіленими системами або при синхронізації даних між серверами різних часових зон, завжди надавайте перевагу UTC часу. Використовуючи |
Синтаксис
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("Дати відбулися в різний час.");
}