8

タイム ゾーンは、多数のオプションから選択するのが難しい場合があります。このプロセスをもっと簡単にしたい。最善の推測を行うことができるいくつかのフォームを野生で見ました。私は解決策を探しましたが、運がありませんでした。誰もそれを行う方法を知っていますか?

4

5 に答える 5

10

Javascript:

var today = new Date();

alert( today.getTimezoneOffset() );

これにより、オフセット (GMT-X) が得られますが、実際のタイムゾーン名は得られません。同じ GMT オフセットが複数のタイムゾーンに対応する可能性があり、夏時間も考慮する必要があることに注意してください。ただし、これはおそらく、ユーザーがドロップダウンからタイムゾーンを選択できるようにすることを除けば、最も簡単に開始できる場所です。

于 2009-04-20T12:19:37.663 に答える
2

IP アドレスを一連のリストと照合することで、ユーザーの国を検出することができます。これを実現するにはさまざまな方法がありますが、この APIを使用するのが最適です。

使用例はhttp://nl.ae/iptocapi.php?type=1&ip=00.00.00.00です。これにより、その IP アドレスの国コードが返されます。そうすれば、国コードとタイムゾーンを簡単に一致させることができます。

この方法でタイムゾーンを見つけたら、それをドロップダウン ボックスのデフォルト値として使用できます。

于 2009-04-20T12:21:59.247 に答える
2

ここで、はるかに優れた堅牢なソリューションを見つけました: http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/

著者が説明するように、Date.getTimezoneOffset()矛盾しています。

于 2010-05-17T21:14:43.193 に答える
1

JavaScriptを使用して、多かれ少なかれ確実にタイムゾーン オフセットを決定できます。私の知る限り、HTTP はサーバー上のクライアントのタイムゾーンを決定する手段を提供しません。

于 2009-04-20T12:20:29.983 に答える
1

Javascript を使用:

<input type="hidden" id="visitorTZ" name="visitorTZ" />
<script type="text/javascript">
    d = new Date();
    document.getElementById('visitorTZ').value = d.getTimezoneOffset()/60; 
</script>
于 2009-04-20T12:21:37.533 に答える