I fusi orari possono essere difficili da selezionare tra dozzine di opzioni. Mi piacerebbe rendere questo processo più semplice. Ho visto alcune forme in natura che possono fare la migliore ipotesi. Ho cercato una soluzione ma senza fortuna. Qualcuno ha un'idea di come si fa?Come rilevare il fuso orario dell'utente nei moduli di registrazione?
risposta
Javascript:
var today = new Date();
alert(today.getTimezoneOffset());
Questo darà la Offset (GMT-X), ma non il nome fuso orario attuale. Tenere presente che lo stesso offset GMT può corrispondere a più fusi orari e tenere conto anche dei risparmi diurni. Tuttavia, questo è probabilmente il punto di partenza più facile, a meno che gli utenti scelgano il loro fuso orario da un menu a discesa.
È possibile utilizzare JavaScript per determinare in modo affidabile il più o meno il fuso orario. HTTP, a mia conoscenza, non fornisce alcun mezzo per determinare il fuso orario del client sul server.
utilizzare JavaScript:
<input type="hidden" id="visitorTZ" name="visitorTZ" />
<script type="text/javascript">
d = new Date();
document.getElementById('visitorTZ').value = d.getTimezoneOffset()/60;
</script>
Si potrebbe provare a rilevare un paese utenti associando il loro indirizzo IP ad una serie di liste. Ci sono diversi modi per ottenere questo, ma il meglio è usando this API.
Un esempio di utilizzo potrebbe essere: http://nl.ae/iptocapi.php?type=1&ip=00.00.00.00. Ciò restituirà il codice di paese di quell'indirizzo IP. Quindi è abbastanza facile abbinare il codice del paese con il fuso orario.
Una volta 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()
non è coerente.
- 1. come rilevare il fuso orario del client?
- 2. regolare il fuso orario
- 3. Come impostare il fuso orario in codeigniter?
- 4. Come ottenere il fuso orario del cliente?
- 5. Come impostare il fuso orario in gnuplot?
- 6. Come cambiare il fuso orario e il fuso orario nel simulatore iPhone?
- 7. Come ottenere il fuso orario dell'utente?
- 8. Come impostare correttamente il fuso orario mysql
- 9. Come `strftime` aver regolato il fuso orario?
- 10. Come cambio il fuso orario in JavaScript?
- 11. Fuso orario con PostgreSQL
- 12. Convertire fuso orario locale a PST fuso orario in C#
- 13. specificare il fuso orario di output cqlsh
- 14. rimuovere il fuso orario di pytz
- 15. H2 predefinito fuso orario
- 16. Come ottenere il fuso orario locale dell'utente diverso dal fuso orario del server (UTC) in python?
- 17. javascript Data fuso orario
- 18. git commit fuso orario
- 19. fuso orario russo cambia
- 20. strptime con fuso orario
- 21. Java GregorianCalendar Fuso orario
- 22. ottenere fuso orario dell'utente
- 23. Python Fuso orario conversione
- 24. conversione fuso orario Silverlight
- 25. Fuso orario per Firebase.ServerValue.TIMESTAMP
- 26. PostgreSQL modifica il timestamp di tipo senza fuso orario -> con fuso orario
- 27. Fuso fuso orario per il test delle app Web
- 28. Come impostare il fuso orario locale in Sails.js o Express.js
- 29. Imposta il fuso orario corrente in Rails?
- 30. Ottiene il fuso orario con React Native
L'unica cosa che vorrei notare è che 'getTimezoneOffset()' sembra restituire il tempo impiegato da GMT per compensare il fuso orario dell'utente, e non viceversa. , ad esempio nel Nord America Eastern Standard Time, '(new Date()). GetTimezoneOffset()/60' restituisce' 5', quando EST è effettivamente uguale a GMT-05: 00, non GMT + 05: 00. – gabriel