Получить мировое время по api при помощи JS (API запрос)
Как можно получить время не компьютера пользователя через
let time = new Date().getTime();
Не используя другие языки программирования, и не обращаясь к node или фреймворкам.
А получать время по API, не отталкиваясь ни от времени сервера, ни от времени установленного на компьютере пользователя?
Ответы (1 шт):
Автор решения: Denis640Kb
→ Ссылка
В данном случае необходимо использовать API, для получения текущего времени.
На просторах РУ интернета достаточно мало подобной информации, в связи с этим и нормальных сервисов времени, показывающих бесперебойное время не так много.
По-этому решил добавить решение:
let plus = 3; // Сколько времени прибавляем (+3 это время по Москве)
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://worldtimeapi.org/api/timezone/Europe/London', false); // Делаем запрос по Лондону
xhr.send(); // отправляем
if (xhr.status != 200) {
console.log( xhr.status + ': ' + xhr.statusText ); // Если статус не равен 200, то выводим ошибку.
} else {
let time = xhr.responseText; // получаем текст ответа
let z = JSON.parse(time).utc_datetime; // Получаем время utc
let time1 = new Date(z).getTime(); // Переводим в timestamp
let timestampPlus = time1 + (plus * 60 * 60 * 1000); // Воемя +3 часа. Если надо получить время UTC, то убираем просто параметр plus
let timePlus = new Date(timestampPlus); // Переводим во время (Тут надо понимать, что система сама переведёт его в текущую временную зону
let result = timePlus.toUTCString(); // Переводим в строку UTC;
console.log(result); // Выводим дату.
}
P.S Время через API, при желании можно запрашивать по любым временным зонам.