7

На стороне сервера DateTime сохраняется в соответствии с UTC (2016-03-24 17:45:12), а клиенту всегда возвращается DateTime как UTC. Есть разные пользователи из мира.Угловой - использование i18n и l10n для управления временем и временем времени

Что является лучшим способом сделать date-time Управление отображением с i18n and l10n в угловом? Также я хочу, чтобы он отображал дату-время в соответствии с часовым поясом пользователя.

Существует множество фидов, показанных со всего мира, таких как StackOverflow Posts. Со стороны сервера всегда DateTime передаются в часовой пояс UTC. На стороне клиента время даты может отображаться в двух форматах, как показано ниже.

  1. Показаны время дат поста в часовом поясе
  2. Отображение времени назад объект как (прямо сейчас, минуту назад, час назад, день назад, месяц назад, год назад, 2 года назад, 3 года назад , и т. д.)

Этот тип даты времени отображается в системе несколько раз для сообщений. Так что лучший способ использовать угловые, чтобы иметь очень меньше кода для управления этим.

How/When/Почему использовать фильтры, директивы, выражения для этого?

(P.S. Я новичок угловой.)

Update: Больше объяснения:

Сообщение объект может быть одной страницы или массив объектов. И дата после времени будет как UTC: (2016-03-24 17:45:12)

Таким образом, есть два случая, которые могут быть отображены как:

  1. 5 месяцев назад
  2. 2016 -03-24 23:15 (Время IST)
+2

Неясно именно то, что вы просите. Это о том, что такое лучшая практика? У вас есть конкретный вопрос о том, как что-то сделать? Если вы ищете способ достижения описанных вами сценариев, рассмотрите [moment.js] (http://momentjs.com). Существует хорошая угловая интеграция [здесь] (https://github.com/urish/angular-moment) –

+0

@MattJohnson: Да, я искал подобное решение. Я обновил вопрос. –

+0

Я не уверен, как ответить на это иначе, чем сказать «использовать фильтр», о котором вы уже определили фильтр угловой даты, и я дал вам ссылку на использование moment.js с фильтрами с угловым моментом. Больше нечего сказать, так как ваш вопрос не очень конкретный. Я бы проголосовал за закрытие как «слишком широкий», за исключением того, что открытая щедрость мешает этому. –

ответ

0

Вы можете доверять пользователям браузеров. Чтобы отобразить дату, вы можете использовать myDate.toLocaleString(). Он отобразит дату с использованием настроек локали пользователя.

Для формата «время-назад», вы можете использовать AngularJS версию moment.js: https://github.com/urish/angular-moment#am-time-ago-directive