ときJS-時間変換

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/u012193330/article/details/79637660

ビジネスシナリオ:

ページのサーバー時間は東部時間の8つの地区で、ページJS関数はサーバー時間と現地時間のユーザーを比較する必要があり、世界の残りの部分の時間と互換性があり、我々は東8回として、ユーザーのローカルタイムゾーンに変換する必要があります。

基本コンセプト

グリニッジ標準時

時間も世界として知られている地域のGMTのグリニッジ子午線上の場所、またはゼロのゾーン(時間帯)、呼び出されると。(より詳細な概念は言っていないために、我々はここでは必要ありません)例えば、我々中国人は東の8つの地区があり、北京はある(GMT + 08:00)

:のローカルおよびGMT時差取得分で、新しい新しいDate()と、GetTimezoneOffsetを()。

GMTは、正しい現地時間の点で、知られています

現地時間=グリニッジ標準時 - 時差

現地時間は、対応する変換GMT、知られています:

現地時間= GMT +時差

これは、他のタイムゾーンで時間的に、現地時間を知られています

差は時間単位で時間間隔に基づいているので。だから、0時00分の時間帯を算出した後、マイナスまたはプラスの対応時間(東部地区N + Nその後、時間、そして西部地区N -N時間)。対象時間帯差+ = +ローカルタイムゾーン時間間隔:計算を容易にするために、東領域は正の数N、N即ち、負示さ西部地域を付し

例:東部時間8つの地区にローカル時間に変換

var timezone = 8; //目标时区时间,东八区
var offset_GMT = new Date().getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟
var nowDate = new Date().getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数
var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);
console.log("东8区现在是:" + targetDate);

おすすめ

転載: blog.csdn.net/u012193330/article/details/79637660