好的,这真让我发疯。
我正在尝试进行倒计时,将某时区的某天计数到一周的某天...一旦计时器计时到零,它将更改倒计时计时器的标题,并在某天倒计时到一周的另一天。不同的时区。
基本上,我需要它显示周六在某个时区的开始时间...,在周六,我需要倒数到周日在其他时区的开始时间...
这个想法是,两个时区是国际日期变更线两侧的最早和最新时区... ,因此“现在是星期六的某个地方n个更多的天/小时/分钟/秒”与“它将在n个天/小时/分钟/秒的某个地方的星期六”进行比较-实际上是“星期六某处”持续50个小时。
我认为该时间段是我所在时区的星期五凌晨3点到星期日凌晨5点之间,所以这是“在某个地方的星期六”的边界-这不考虑夏令时的变化。
另一个问题是,观看倒数计时器的人不会全部都在我的时区中...所以我想我可能需要将其设置为使用时区偏移量进行一些数学运算。
我觉得我想得太多了。我已经把代码挑剔了,只是想拥有一块干净的桌子,以便从头算起。
任何帮助将不胜感激。
答案 0 :(得分:0)
根据上面的评论,这是我想出的...试图保持清楚实际发生的事情...(编辑:更正...)
var currentTime = new Date().valueOf();
var wktime = currentTime/604800000;
wktime -= Math.floor(wktime);
wktime *= 604800000;
wktime -= 122400000;//milliseconds from zero time to the original saturday, so 0 is the start of saturday.
var lengthOfSaturday = (24+12+14)*60*60*1000; //just to make the math clear
if (wktime > lengthOfSaturday) {
var msToNextSaturday = wktime-lengthOfSaturday;
} else {
var timeLeftSaturday = lengthOfSaturday-wktime;
}