2016-03-22 18 views
0

ウェブページ上に日付を表​​示したい。来週の木曜日の午後6時(太平洋標準時)のみを表示します。Moment.js - 毎週「次の木曜日」だけを表示する方法

訪問者がページに来る日や時間に関係なく、常に次の木曜日の午後6時のPSTが表示されるはずです。

Moment.jsでどうすればいいですか?

また、カウントダウンタイマーをmoment.jsと統合する方法はありますか?そのため、ビジターはいつもその時までカウントダウンを見ますか?

ありがとうございます!

+0

次のようなものがあります: 'Today.AddDays(Thursday.DayOfWeek - Today.DayOfWeek).StartOfDay.AddHours(18)' –

+0

今日の始まりに時間を追加しないようにすることをお勧めします。 DSTの移行のため、これは午後5時または午後7時で、午後6時ではありません。許可されたDSTの移行は、木曜日には一般的に起こることはありませんが、政府が奇妙な決定を下すと、今から何年もバグを発見したいと考えていますか? –

答えて

0

これはちょっと考えていて、ユーザーが世界のどこにいても、America/Los_Angelesの時間を知りたいので、瞬間時間帯を使用する必要があります。手順は次のとおりです。今ならば

  • はアメリカで/ Los_Angelesで明示的に今週の木曜日に午後6時までの時間を設定する
  • 使用セッター
  • チェックを今の瞬間を作成します。もしそうなら、その日
  • 前です、

    012:いない場合値は木曜日
  • 今週で、値が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はまだAmerica/Los_Angelesタイムゾーンにあることに注意してください。あなたは、ユーザーのローカル時間でそれを表示したい場合、あなたはそれが戻って新しい瞬間に値です渡すことができます。あなたのカウントダウンタイマーを行うには

moment(date.valueOf()) 

、私は一瞬、カウントダウンにレイアウトされているものを見てみなければなりません:https://github.com/icambron/moment-countdown

関連する問題