Преобразование между 12-часовыми и 24-часовыми часами с i18n в ember.js
Я задавался вопросом, есть ли способ конвертировать между 12-часовыми и 24-часовыми часами, используя i18n и ember.js?
У I18n есть объект DATE с меридианами, описанный ниже. Но я не уверен, поддерживается ли конвертация между 24-часовым и 12-часовым временем.
var DATE = {
day_names: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
abbr_day_names: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
month_names: [null, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
abbr_month_names: [null, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
meridian: ["AM", "PM"]
};
Я уже использую i18n для переводческой части интернационализации моего сайта. Так что было бы неплохо, чтобы временами не требовалась дополнительная библиотека.
1 ответ
Я закончил тем, что решил упрощенную проблему выбора между 12 и 24 часами, используя отдельные даты руля с I18n.l. Затем я указал этот формат, чтобы объекты даты форматировались таким образом в translations.js
Для английского языка и т. Д. Я использую 12-часовые часы
time: {
formats: {
short: '%-I:%M %p', // hh:mm tt
},
}
Для норвежского, шведского языка и т. Д. Я использую 24-часовые часы
time: {
formats: {
short: '%-H:%M', // hh:mm
}
}
Для языков с разными разделителями и меридианами и названиями для будних дней и т. Д. Вы также должны указать их и не использовать объект DATE по умолчанию, указанный в файле i18n.js.
Принятые форматы в стандарте i18n-js:
- % a - сокращенное название дня недели (вс)
- % A - полное название дня недели (воскресенье).% B - сокращенное название месяца (январь).
- % B - полное название месяца (январь)
- % c - предпочтительное местное представление даты и времени
- % d - день месяца (01..31)% -d - день месяца (1..31)
- % H - час дня, 24-часовые часы (00..23)
- % - H - час дня, 24-часовые часы (0..23)
- % I - час дня, 12-часовые часы (01..12)
- % -I - час дня, 12-часовые часы (1..12)
- % m - месяц года (01..12)
- % -m - месяц года (1..12)
- % M - Минута часа (00..59)
- % -M - минута часа (0..59)
- % p - индикатор меридиана (AM или PM)
- % S - секунда минуты (00.. 60)
- % -S - секунда минуты (0..60)
- % w - день недели (воскресенье 0, 0,6)
- % y - год без века (00..99)
- % -y - год без века (0..99)
- % Y - год с веком
- %z - Смещение часового пояса (+0545)