設定された時刻と現在のサーバー時刻の時間差を計算する必要があります。moment.jsの2つのタイムゾーン形式の日付の差分
私はmomentjsと瞬時タイムゾーンライブラリを使用しています。ここで
は、私が持っているものです。
var serverTime = moment.tz(new Date(), "Europe/Berlin").format();
var bar = moment.tz("2016-05-14 00:00:00", "Europe/Berlin").format();
var baz = bar.diff(serverTime);
console.log('server time is: ' + serverTime);
console.log('time diff is: ' + baz);
は、これは私にエラーを与える:
TypeError: bar.diff is not a function
は、それが2つのタイムゾーン形式の日付の間のdiffをすることは可能ですか?そうでない場合は、momentjsライブラリを使用してそのような計算を実行する最適な方法は何ですか?
ありがとうございます。私は変数の名前をより良くするべきだったと思う。私は指定されたタイムゾーンに変換された日付の間にdiffメソッドを使用していますので、目的の結果が得られます。しかし、私は、utcを使用するのがサーバーの時間をエミュレートするための良いアイデアだと思います。 – Grant
時刻を比較しているだけの場合は、UTCをフードの下で使用しているため、特定のタイムゾーンを指定する必要はありません。後でそれを表示するので、最初の行にはTZだけが含まれています。差分だけを気にするなら、 'moment()'を使うことができます。 –
WRTの「サーバー時刻」は、サーバーからタイムスタンプを取得することによって*真に*行う唯一の方法です。もちろん、タイムスタンプの送信に遅延があると考える必要があります。あなたは "サーバーのタイムゾーンを使用して" "サーバーの時計を使用して"を組み合わせているようです。クライアントは、自分が望むものに自分の時計を変更できることを覚えておいてください。それが同期しているという保証はありません。 –