Po szczypcie badań doszedłem do wniosku, że technicznie nie można uzyskać ustawień regionalnych, a przez to formatu daty, ale można zrobić kilka innych rzeczy. Wybierz jedną z poniższych opcji:
a) wspomniany już -i outdated- "toLocaleString()" Funkcja:
var myDate = new Date(1950, 01, 21, 22, 23, 24, 225);
var myDateFormat = myDate.toLocaleString();
alert (myDateFormat);
zagadnienia:
1) Nie można "myDateFormat.replace", aby uzyskać datę maski jako miesiąc nie jest zapisany jako "01", "02", itp. w łańcuchu, ale jako tekst, w oparciu o ustawienia narodowe (np. "luty" w języku angielskim, ale jest "Φεβρουάριος" w języku greckim i kto wie, co np. w Klingonie).
2) Różne zachowania w różnych przeglądarkach
3) Różne zachowania w różnych wersjach systemu operacyjnego i przeglądarki ...
b) Użyj funkcji toISOString()
zamiast toLocaleString()
. Nie dostaniesz maski daty ustawień regionalnych, ale otrzymasz datę, od której dowiesz się, w której części daty (np. Gdzie "miesiąc" lub "dzień" znajduje się w tym ciągu znaków). Można również pracować z funkcjami getUTCDate()
, getUTCMonth()
i getUTCDay()
. Nadal nie możesz określić, jakiego formatu daty używa klient, ale możesz określić, który rok/miesiąc/dzień/itd. Będziesz pracował, kiedy pobierzesz datę; skorzystaj z powyższego code
, aby przetestować funkcje, o których tutaj wspomniałem, aby zobaczyć, czego możesz się spodziewać.
c) Czytaj Inconsistent behavior of toLocaleString() in different browser artykuł i używać IMHO doskonałe rozwiązanie() tam opisane
Pytasz, czy można dowiedzieć się, który z nich użytkownik ma w w prawym dolnym rogu ekranu? A może pytasz, który użytkownik * powinien * bazować na swojej lokalizacji? – George
Nie sądzę, –
Witam F4r-20. Tak, miałem na myśli domyślny czas systemu - zegar też go używa. – WooDzu