Pergunta

Os fusos horários pode ser difícil escolher entre dezenas de opções. Gostaria de tornar esse processo mais simples. Eu vi algumas formas na natureza que pode fazer o melhor palpite. I Goggled para uma solução, mas sem qualquer sorte. Não qualquer um tem uma idéia de como fazê-lo?

Foi útil?

Solução

Javascript:

var today = new Date();

alert( today.getTimezoneOffset() );

Isto dará ao Offset (GMT-X), mas não o nome do fuso horário actual. Tenha em mente mesma GMT offset pode corresponder com vários fusos horários e também tem que levar em conta poupança da luz do dia. No entanto, este é provavelmente o melhor lugar para começar, curta de dar aos usuários escolher o seu fuso horário a partir de uma lista suspensa.

Outras dicas

Você poderia tentar detectar um país usuários, combinando seu endereço IP para uma série de listas. Existem diferentes maneiras de conseguir isso, mas o melhor é usando esta API .

Um exemplo de uso seria: http://nl.ae/ iptocapi.php? type = 1 & ip = 00.00.00.00 . Isso irá retornar o código do país de que o endereço IP. Então é muito fácil de combinar o código do país com o fuso horário.

Depois de ter encontrado o fuso horário desta forma você pode usá-lo como o valor padrão em uma caixa suspensa.

Eu encontrei uma solução muito melhor e robusto aqui: http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ .

Como o autor explica, Date.getTimezoneOffset() é inconsistente.

Você pode usar JavaScript para mais ou menos confiável determinam deslocamento de fuso horário. HTTP, que eu saiba, não fornece qualquer meio para determinar fuso horário do cliente no servidor.

Use Javascript:

<input type="hidden" id="visitorTZ" name="visitorTZ" />
<script type="text/javascript">
    d = new Date();
    document.getElementById('visitorTZ').value = d.getTimezoneOffset()/60; 
</script>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top