Вы можете получить язык браузера с этим:
let userLang = navigator.language || navigator.userLanguage;
В моем случае будет выведено de-DE
. Момент. js просто нужно de
без -DE
, как я знаю, поэтому вы должны разделить его.
let userLang = navigator.language || navigator.userLanguage;
let local = userLang.split("-")[0];
И теперь вы можете установить момент. js локаль вот так
moment.locale(local);
С помощью этого кода вы можете проверить, использует ли пользователь военное время или нет:
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
var dateString = date.toLocaleTimeString();
//apparently toLocaleTimeString() has a bug in Chrome. toString() however
//returns 12/24 hour formats. If one of two contains AM/PM execute 12 hour
//coding.
if (dateString.match(/am|pm/i) || date.toString().match(/am|pm/i) )
{
//12 hour clock
console.log("12 hour");
}
else
{
//24 hour clock
console.log("24 hour");
}
Исходное сообщение: Определить с помощью javascript, если машина пользователя использует 12 часов часы (am / pm) или 24 часа (военное время)