Возникнут ли проблемы с моим таймером обратного отсчета?

Этот код для таймера обратного отсчета взят из W3Schools:

// Set the date we're counting down to
var d = new Date();
var n = d.getTimezoneOffset() * 60000;

var countDownDate = new Date("May 2, 2018 15:54:25").getTime();

// Update the count down every 1 second
var x = setInterval(function() {

    // Get todays date and time
    var now = new Date().getTime();

    // Find the distance between now an the count down date
    var distance = countDownDate - now - n;

    // Time calculations for days, hours, minutes and seconds
    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);

    // Output the result in an element with id = "demo"
    document.getElementById("demo").innerHTML = days + "d " + hours + "h "
    + minutes + "m " + seconds + "s ";

    // If the count down is over, write some text 
    if (distance < 0) {
        clearInterval(x);
        document.getElementById("demo").innerHTML = "EXPIRED";
    }

}, 1000);

С этим была большая проблема: любая дата, которую я ввожу, не будет работать для разных часовых поясов, как если бы это было +1 час по всемирному координированному времени, она истекла, а если бы она была -1, это был бы час.

Поэтому я добавил d.getTimezoneOffset() * 60000;, чтобы получить разницу в миллисекундах, а затем снял его, поэтому, если есть разница, он должен ее вычислить.

Всегда ли будет работать, если я поставлю дату в формате UTC в будущем, или есть возможная разница, о которой я не знаю (например, особая страна или летнее время, которые могут испортить это)?

@KevinBoucher По вопросу код пришел из w3schools. По лицензионным, моральным и процедурным причинам мы не можем проверять код, написанный другими программистами. Мы ожидаем, что OP, как автор, поймет, почему код написан именно так. Пожалуйста, взгляните на Справочный центр Code Review.

Mast 02.05.2018 18:04

Это не проблема, я просто хочу знать о смещении часового пояса и любых возможных причудах, которые у него могут быть (не обзор кода)

ddd 02.05.2018 18:25

@ochi Вы не читали комментарий над вашим? OP явно не ищет обзор. Это может быть не по теме для Stack Overflow, но это не значит, что это актуально для Code Review.

Mast 02.05.2018 18:29

@everyone Судя по всему, что я тестировал, все работает со многими разными часовыми поясами в моей локальной системе (если дата является датой в формате UTC), но если бы было сказано, что летнее время было бы что-нибудь испортить?

ddd 02.05.2018 18:47
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
62
0

Другие вопросы по теме