Moment.jsを使用して、ユーザーのローカルタイムゾーンでUTC日付を表示します。
_var date = new Date(Date.UTC(2016,03,30,0,0,0));
var now = new Date();
var diff = (date.getTime()/1000) - (now.getTime()/1000);
var textnode = document.createTextNode(moment(date).format('dddd, DD.MM.YYYY') + ' a las ' + moment(date).format('HH:mm A'));
document.getElementsByClassName("date")[0].appendChild(textnode.cloneNode(true));
_
後でdiff
変数を使用して、カウントダウンタイマーを表示します。
ローカルタイムゾーンのすべてのユーザーに別のカウントダウンタイマーを表示したいと思います。 (UTCではなく、タイムゾーンの午前0時までの差異を使用)
しかし、私はそれを機能させるのに苦労しています。 var date = new Date(Date.UTC(2016,03,30,0,0,0));
を使用する代わりに、ユーザーのタイムゾーンの真夜中まで私に提供するmoment.jsの関数を使用する必要があるでしょう。
一番良い例は大晦日でしょう。私がUTCを使用する場合、誰もが同じカウンター(残り9時間)を持つことになりますが、世界のさまざまな場所では、これは意味がありません。オーストラリアの場合は残り2時間、米国の場合は残り14時間です。
だから答えはかなり簡単です(申し訳ありませんが、あなたを愚かに感じさせようとはしていません;))
var date = new Date(Date.UTC(2016,03,30,0,0,0));
var localDate = new Date(2016,03,30,0,0);
var now = new Date();
var diff = (localDate.getTime()/1000) - (now.getTime()/1000);
var textnode = document.createTextNode(moment(date).format('dddd, DD.MM.YYYY') + ' a las ' + moment(date).format('HH:mm A'));
document.getElementsByClassName("date")[0].appendChild(textnode.cloneNode(true));
Date
オブジェクトにデフォルトのコンストラクターを使用すると、JavaScriptでローカルの日付/時刻オブジェクトが得られます。