Dopo un pizzico di ricerca ho concluso che tecnicamente non è possibile ottenere le impostazioni regionali e in questo modo il formato della data, ma è possibile fare diverse altre cose. Scegliere una di queste opzioni:
a) Il "toLocaleString()" già citato -e outdated- funzione:
var myDate = new Date(1950, 01, 21, 22, 23, 24, 225);
var myDateFormat = myDate.toLocaleString();
alert (myDateFormat);
PROBLEMI:
1) Non è possibile "myDateFormat.replace" per ottenere la maschera data il mese non viene memorizzato come "01", "02", ecc nella stringa ma come testo, in base alla locale (come "Febbraio" in inglese ma è "Φεβρουάριος" in greco e chissà cosa, ad esempio in Klingon).
2) Comportamento diverso su browser diversi
3) Comportamento diverso su diverse versioni del sistema operativo e del browser ...
b) Utilizzare la funzione toISOString()
anziché toLocaleString()
. Non si otterrà la maschera della data locale, ma si otterrà una data da cui è possibile determinare la parte della data (cioè dove "mese" o "giorno" si trova in quella stringa). Puoi anche lavorare con le funzioni getUTCDate()
, getUTCMonth()
e getUTCDay()
. Non puoi ancora sapere quale formato di data utilizza il client, ma puoi dire con quale anno/mese/giorno/ecc lavorerai quando prendi una data; usa lo code
sopra per testare le funzioni che ho menzionato qui per vedere cosa puoi aspettarti.
c) Leggi Inconsistent behavior of toLocaleString() in different browser articolo e utilizzare la soluzione (IMHO grande) ha descritto ci
fonte
2013-04-25 09:22:21
stai chiedendo se o non si può scoprire quale l'utente ha in in basso a destra del loro schermo? O stai chiedendo quale utente * dovrebbe * avere in base alla loro posizione? – George
Io non la penso così –
Ciao F4r-20. Sì, intendevo l'ora del sistema predefinito - anche l'orologio lo usa. – WooDzu