ホームページ >ウェブフロントエンド >jsチュートリアル >JSタイムゾーンの時刻変換について詳しく解説

JSタイムゾーンの時刻変換について詳しく解説

小云云
小云云オリジナル
2018-03-21 16:56:234660ブラウズ


ページのサーバー時間は東 8 区時間です。ページの JS 関数は、世界中の時間と互換性を持たせるために、サーバー時間とユーザーの現地時間を比較する必要があります。東第8地区の時間に。この記事では主に JS タイムゾーンの時刻変換について詳しく説明し、皆様のお役に立てれば幸いです。

基本概念

グリニッジ標準時

グリニッジ子午線上の現地時間、またはゼロタイムゾーン(中央時間帯)のゾーンタイムをグリニッジ標準時といい、世界時とも呼ばれます。 (これ以上の詳細な概念については説明しません。ここでは必要ありません。) たとえば、私たちの中国は東 8 区で、北京時間は (GMT+08:00) です

現地との時差を取得しますおよびグリニッジ時間:new Date( ).getTimezoneOffset()、単位は分です。

既知のグリニッジ標準時、正しい現地時間に変換します

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

既知の現地時間、対応するグリニッジ時間に変換します:

グリニッジ時間 = 現地時間 + 時差

既知現地時間、他のタイムゾーンの時間を変換してください

時間間隔の差は時間単位であるためです。したがって、0 タイム ゾーンの時間を計算した後、対応する時間を減算または加算するだけです (東 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("东2区现在是:" + targetDate);
).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("东2区现在是:" + targetDate);

関連推奨事項:

[再投稿] PHPのタイムゾーンの時刻異常に関する問題について

JavaScriptのワールドタイムゾーンの時間表示code_timeとdate

PHPはGMTを変換しますデータベースの文字列をユーザーのローカルタイムゾーン時間に +8 します

以上がJSタイムゾーンの時刻変換について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。