Domanda

I fusi orari possono essere difficili da scegliere tra decine di opzioni. Vorrei rendere questo processo più semplice. Ho visto alcune forme in natura che può fare il migliore ipotesi. Ho Goggled per una soluzione, ma con fuori po 'di fortuna. Do uno ha un idea di come farlo?

È stato utile?

Soluzione

JavaScript:

var today = new Date();

alert( today.getTimezoneOffset() );

Questo darà la Offset (GMT-X), ma non il nome fuso orario attuale. Tenete a offset può corrispondere con più fusi orari e hanno anche tener conto di risparmio di luce del giorno la mente stessa GMT. Tuttavia, questo è probabilmente il posto più facile per iniziare, a corto di dare gli utenti scegliere il loro fuso orario da un menu a discesa.

Altri suggerimenti

Si potrebbe provare a rilevare un paese utenti associando il loro indirizzo IP ad una serie di liste. Ci sono diversi modi per raggiungere questo, ma il migliore è quello di utilizzare questa API .

Un esempio di utilizzo potrebbe essere: http://nl.ae/ iptocapi.php? type = 1 & ip = 00.00.00.00 . Ciò restituirà il codice del paese di tale indirizzo IP. Poi è abbastanza facile da abbinare il codice del paese con il fuso orario.

Una volta che avete trovato il fuso orario in questo modo è possibile utilizzarlo come valore predefinito in una casella a discesa.

Ho trovato una soluzione molto migliore e robusta qui: http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ .

Come spiega l'autore, Date.getTimezoneOffset() è incoerente.

È possibile utilizzare JavaScript per determinare più o meno affidabile fuso orario offset. HTTP, a mia conoscenza, non fornisce alcun mezzo per determinare fuso orario del client sul server.

Usa JavaScript:

<input type="hidden" id="visitorTZ" name="visitorTZ" />
<script type="text/javascript">
    d = new Date();
    document.getElementById('visitorTZ').value = d.getTimezoneOffset()/60; 
</script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top