`user-agent`文字列の一部から来たのでしょうか。`getTimezoneOffset()`はGMTからあなたの時間を引き、分数を返す。8に住んでいるのであれば、それは480を返します。これを数時間にするには、60で割ります。それはあなたのタイムゾーンからのGMTのオフセットを計算します、あなたのタイムゾーンのGMTからのオフセットではありません。これを修正するには、単に-1を掛けます。http://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp[w3school]には次のように記載されています。戻り値は定数ではありません。夏時間を使用するためです。_source190私の周りで見た時間帯を決定する最も人気のある(==標準?)方法は単に_ユーザ自身を隠すことです。あなたのウェブサイトが購読を必要とするなら、これはユーザのプロフィールデータに保存できます。anonユーザーの場合、日付はUTCまたはGMT、あるいはそのようなものとして表示される可能性があります。私はスマートアレックになろうとはしていません。それはちょうど時々いくつかの問題がどんなプログラミング状況の外でより良い解決策を持っているということです。source95これまでにクライアントのタイムゾーンを報告するHTTPヘッダーはありませんが、HTTP仕様に含めることが推奨されています。私の場合は、クライアントサイドのJavaScriptを使用してタイムゾーンを取得し、それをAjaxなどを使用してサーバーに送信します。source54JavaScriptは、クライアントの現地時間を知るための最も簡単な方法です。XMLHttpRequestを使用して現地時間を返信することをお勧めします。それが失敗した場合は、IPアドレスに基づいて検出されたタイムゾーンに戻ります。GeoIPを使用していますが、タイムゾーンデータが提供されているかどうかはわかりませんが、うまく機能します。それはあなたが支払うサービスであり、彼らはあなたのデータベースに毎月の更新を提供します。彼らはいくつかのWeb言語でラッパーを提供します。source49これは、ブラウザが存在するタイムゾーンを判断するための堅牢なJavaScriptソリューションです。"ヨーロッパ/ロンドン"https://bitbucket.org/pellepim/jstimezonedetectsource39これがより完全な方法です。ユーザーのタイムゾーンオフセットを取得します夏時間の境界で何日かテストして、それらが夏時間を使用するゾーンにあるかどうかを判断します。抜粋は以下のとおりです。intMonth){//次の月に移動するdtDate.setUTCMonth(dtDate.getUTCMonth()1);//夏時間を無視するには、最も小さいオフセットを探します。//夏時間の間は時計が進むので、もっと大きい数値になります。}}intOffsetを返します。}https://web.archive.org/web/20140703082827/http://michaelapproved.com/articles/timezone-detect-and-ignore-daylight-saving-time-dst[JSからTZとDSTを取得]バックマシン)source31まず、JavaScriptでのタイムゾーン検出は不完全であることを理解してください。offset_を取得できますが、これは完全なhttps://iana.org/time-zones[IANAとはまったく同じではありません。Los_Angelesのように。うまくいくことができるいくつかのオプションがあります。Intl.DateTimeFormat().resolvedOptions().timeZone;結果は、コードが実行されているコンピュータのIANAタイムゾーン設定を含む文字列です。table]に記載されています。resolveOptions()。timeZoneのデフォルトはホスト環境に設定された機能を見てください。luxon.Settings.defaultZoneName`のような関数を通じてタイムゾーンを決定します。ブラウザの場合は、ライブラリを使用して、タイムゾーンで「推測」を行うことができます。`getTimezoneOffset`関数をさまざまな時点で調べます。内部データセットから。jsTimezoneDetectとhttps://momentjs.com/timezone[moment-timezone]の両方にこの機能があります。moment.tz.guess();どちらの場合も、結果は推測としか考えられません。推測は多くの場合正しいかもしれませんが、それらすべてではありません。これらのライブラリは定期的に更新して、古いJavaScript実装の多くが現地時間帯の_夏時間の規則を認識しているだけであるという事実を打ち消す必要があります。[詳細については、ここをクリックしてください。]最終的には、より良い方法は、実際にユーザーに自分のタイムゾーンを尋ねることです。変更できる設定を指定してください。上記のいずれかのオプションを使用して_default_設定を選択できますが、それをアプリケーションで変更できないようにしないでください。ユーザーのコンピュータのタイムゾーン設定にまったく依存しないというまったく異なるアプローチもあります。[これらの方法のいずれか]を使用して、それらをタイムゾーンに解決できます。これはモバイルデバイスではうまく機能します。source30Unkwntechのアプローチを使って、jQueryとPHPを使って関数を書きました。これはテスト済みで動作します。タイムゾーンを変数として使用したいPHPページで、ページの上部付近に次のコードスニペットがあります。"time"が読み取られ、これから作成しようとしています。`moment.tz.guess();`を使用して実際のタイムゾーン名を取得するのと同じようなこともできます。source22私はまだここにタイムゾーンを取得する詳細な答えを見ていません。IPアドレスでジオコーディングしたり、PHP(lol)を使用したり、オフセットから誤って推測したりする必要はありません。タイムゾーンはGMTからのオフセットではありません。それは地域の基準によって時間規則が定められている土地の区域です。一部の国では夏時間が設定されており、DSTのオン/オフは異なります。現在のオフセットだけでなく、実際のゾーンを取得することが通常重要です。あなたがこのタイムゾーンを保存するつもりなら、例えばユーザーの好みであなたはただのオフセットではなくゾーンが欲しいです。リアルタイム変換の場合はそれほど重要ではありません。javascriptでタイムゾーンを取得するには、これを使うことができます。