Date Moment.js-如何显示每个;“下周四”;只有

Date Moment.js-如何显示每个;“下周四”;只有,date,momentjs,Date,Momentjs,我想在网页上显示日期。仅在太平洋标准时间下周四下午6点播出 因此,无论访问者在哪一天或哪一时间访问该页面,他们都应该看到下周四下午6点太平洋标准时间(PST)即将到来 如何使用Moment.js实现这一点 还有,有没有一种方法可以将倒计时计时器与moment.js集成在一起,以便访问者始终可以看到倒计时到那个时刻 谢谢 这需要一点思考,并且需要使用时刻时区,因为你想知道美国/洛杉矶的时间,不管用户在世界的哪个地方。步骤如下: 在美国/洛杉矶创造当下时刻 使用setter将时间明确设置为本周星期

我想在网页上显示日期。仅在太平洋标准时间下周四下午6点播出

因此,无论访问者在哪一天或哪一时间访问该页面,他们都应该看到下周四下午6点太平洋标准时间(PST)即将到来

如何使用Moment.js实现这一点

还有,有没有一种方法可以将倒计时计时器与moment.js集成在一起,以便访问者始终可以看到倒计时到那个时刻


谢谢

这需要一点思考,并且需要使用时刻时区,因为你想知道美国/洛杉矶的时间,不管用户在世界的哪个地方。步骤如下:

  • 在美国/洛杉矶创造当下时刻
  • 使用setter将时间明确设置为本周星期四下午6点
  • 检查现在是否在该日期之前
  • 如果是,价值是本周周四
  • 如果不是,则值为7天后
守则:

var thisThursday = moment().tz('America/Los_Angeles').isoWeekday(4).hour(18)
                     .minute(0).second(0).millisecond(0);

var date = (thisThursday.isSameOrAfter(moment())) ? thisThursday 
              : thisThursday.add(7, 'days');
请注意,
date
仍在美国/洛杉矶时区。如果要在用户的本地时间显示,可以将其值传递回新时刻:

moment(date.valueOf())

要完成倒计时,我需要看一下时刻倒计时中的内容:

类似于:
Today.AddDays(星期四.DayOfWeek-Today.DayOfWeek)。StartOfDay.AddHours(18)
最好避免在一天开始时增加小时。由于DST转换,这可能是下午5点或7点,而不仅仅是下午6点。虽然DST转换通常不会在周四进行,但在几年后,当政府做出一个奇怪的决定时,谁会想找到一个bug呢?