创建基于字符串的倒数计时器

Nyecodem

我正在处理一个脚本,该脚本将根据管理员定义的字符串日期和时间创建一个倒数计时器。我已经对其进行了编码,但是,存在一个问题,即用户会看到不同的计时器,具体取决于他们的时区。例如,如果管理员将日期和时间设置为今天下午4:50(从现在开始一个小时),那么他会在01:00:00看到计时器,而我会在04:00:00看到计时器。显然,我希望计时器向所有人显示相同的内容。

有任何想法吗?

这是代码的一部分:

//stringDate is the date and time string the admin sets
var splitSD = stringDate.split(' ');

    //isolate date, time, notation
    var splitDate = splitSD[0];
    var splitTime = splitSD[1];
    var splitNotation = splitSD[2];

    //isolate month, day, year
    var formatDate = splitDate.split('/');
    formatDate['month'] = formatDate[0];
    formatDate['day'] = formatDate[1];
    formatDate['year'] = formatDate[2];

    //isolate hour, minute, second
    var formatTime = splitTime.split(':');
    formatTime['hour'] = formatTime[0];
    formatTime['minute'] = formatTime[1];
    formatTime['second'] = '00';

    //change hour to 24-hour clock based on notation
    if(splitNotation == 'PM' && parseInt(formatTime['hour'])<12){
        formatTime['hour'] = parseInt(formatTime['hour']) + 12;
    }
    if(splitNotation == 'AM' && parseInt(formatTime['hour'])==12){
        formatTime['hour'] = parseInt(formatTime['hour']) - 12;
    }

    //prepend 0 in case...
    formatDate['month'] = (formatDate['month'].length == 1) ? '0'+formatDate['month'] : formatDate['month'];
    formatDate['day'] = (formatDate['day'].length == 1) ? '0'+formatDate['day'] : formatDate['day'];

    formatTime['hour'] = (formatTime['hour'].length == 1) ? '0'+formatTime['hour'] : formatTime['hour'];
    formatTime['minute'] = (formatTime['minute'].length == 1) ? '0'+formatTime['minute'] : formatTime['minute'];

    //format full date and prevent conversion to local time
    var fullFD = new Date(formatDate['year'] + '-' + formatDate['month'] + '-' + formatDate['day'] + 'T' + formatTime['hour'] + ':' + formatTime['minute'] + ':00-08:00');
    //make timestamp
    var fullFDTimestamp = Math.round(fullFD / 1000);

    return fullFDTimestamp;
特瓦西亚

根据要求回答我的评论。

使用Date.prototype的getTimezoneOffset方法。它以分钟为单位给出了本地时间与格林威治标准时间世界标准时间。您可以校准倒数计时器,以考虑此偏移值并显示所需的时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章