2013-05-14 5 views
1

Я пытаюсь отобразить дату и время в javascript на основе предпочтений браузера браузера. Я получаю дату в формате UTC и используя toLocaleString(), я могу преобразовать ее в часовой пояс браузера. Но мне также нужно преобразовать имя дня и имя месяца в язык браузера.Как отформатировать дату и отобразить месяц и день на основе языка пользователя

Для экс

6/15/2009 1:45:30 PM -> понедельника, 15 июня 2009 8:45:30 PM (EN-US) 6/15/2009 1:45: 30 PM -> den 15 juni 2009 20:45:30 (sv-SE) 15.06.2009 1:45:30 PM -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μμ (el-GR)

ответ

2

Если вы хотите последовательного вывода независимо от браузера, moment.js является хорошим вариантом.

// set the desired language 
moment.lang('sv'); 

// use one of the localized format strings 
var s = moment(yourDate).format('LLLL'); 

Есть живые примеры на moment.js home page, показывая все доступные языки. Я не верю, что в настоящее время поддерживается поддержка греческого языка, но поскольку он является открытым исходным кодом, вы всегда можете добавить его самостоятельно.

3

Использование toLocaleString вы можете сделать это:

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); 

// request a weekday along with a long date 
var options = {weekday: "long", year: "numeric", month: "long", day: "numeric"}; 
alert(date.toLocaleString("de-DE", options)); 
// → "Donnerstag, 20. Dezember 2012" 

// an application may want to use UTC and make that visible 
options.timeZone = "UTC"; 
options.timeZoneName = "short"; 
alert(date.toLocaleString("en-US", options)); 
// → "Thursday, December 20, 2012, GMT" 
Смежные вопросы