タイム ゾーンは、多数のオプションから選択するのが難しい場合があります。このプロセスをもっと簡単にしたい。最善の推測を行うことができるいくつかのフォームを野生で見ました。私は解決策を探しましたが、運がありませんでした。誰もそれを行う方法を知っていますか?
5 に答える
Javascript:
var today = new Date();
alert( today.getTimezoneOffset() );
これにより、オフセット (GMT-X) が得られますが、実際のタイムゾーン名は得られません。同じ GMT オフセットが複数のタイムゾーンに対応する可能性があり、夏時間も考慮する必要があることに注意してください。ただし、これはおそらく、ユーザーがドロップダウンからタイムゾーンを選択できるようにすることを除けば、最も簡単に開始できる場所です。
IP アドレスを一連のリストと照合することで、ユーザーの国を検出することができます。これを実現するにはさまざまな方法がありますが、この APIを使用するのが最適です。
使用例はhttp://nl.ae/iptocapi.php?type=1&ip=00.00.00.00です。これにより、その IP アドレスの国コードが返されます。そうすれば、国コードとタイムゾーンを簡単に一致させることができます。
この方法でタイムゾーンを見つけたら、それをドロップダウン ボックスのデフォルト値として使用できます。
ここで、はるかに優れた堅牢なソリューションを見つけました: http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/。
著者が説明するように、Date.getTimezoneOffset()
矛盾しています。
JavaScriptを使用して、多かれ少なかれ確実にタイムゾーン オフセットを決定できます。私の知る限り、HTTP はサーバー上のクライアントのタイムゾーンを決定する手段を提供しません。
Javascript を使用:
<input type="hidden" id="visitorTZ" name="visitorTZ" />
<script type="text/javascript">
d = new Date();
document.getElementById('visitorTZ').value = d.getTimezoneOffset()/60;
</script>