2013-10-08 5 views
5

Давайте предположим, что у меня есть объект, сохраненный на $scope.person следующим образом:Как управлять выходом часового пояса фильтра даты в Угловом?

{name:"John",birthday:1381227352421} 

Для того, чтобы сохранить в чистоте и универсальный, сервер хранит все штампы даты/времени, как универсальный от эпохи.

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

<span>{{ person.birthday | date }}</span> 

Вышеизложенными прекрасно работает в представлении браузера местной даты/времени, но я хочу это контролируемый пользователь, или, возможно, У меня разные объекты, каждый из которых нуждается в другом времени.

Как я могу управлять фильтром date, чтобы он отображался для определенных часовых поясов?

EDIT: в соответствии с просьбой, дальнейшие пояснения. Я хочу быть в состоянии сделать что-то вроде

<span>{{ person.birthday | date:'tz-'mytime }}</span> 

Тогда я могу тянуть вниз, когда пользователь выбирает «EDT» или «UTC» или «PST» и т.д. Когда они делают, дата 1381227352421 является представленный в соответствующем часовом поясе.

+0

не понимаю ваш вопрос –

+0

unotunetely это как JS Date работает. это не проблема углов (если у них нет пользовательской реализации Date) – Aviatrix

+0

Хмм, @Aviatrix, хорошая точка. JS Date поддерживает только вывод в UTC или локальный часовой пояс, а не под контролем. Я предполагаю, что ответ «вы не можете», если вы не используете какую-либо другую услугу. – deitch

ответ

0

Что бы я сделал, это реализовать пользовательскую директиву. Как вы сказали, вы хотели бы иметь selectbox/dropldown, где пользователь выбирает свой любимый часовой пояс. Это манипуляция DOM, верно? И манипуляции DOM в AngularJS всегда должны выполняться в директиве.

директива, которая будет выглядеть так:

<timezonechooser data='birth'></timezonechooser> 

Вот простой Fiddle: http://jsfiddle.net/Bm2Mh/

+0

Я думаю, вы неправильно поняли вопрос. Я имел в виду, что у Angular есть встроенная поддержка для фильтрации часовых поясов? – deitch

+0

Я бы сказал, что нет. – LoremIpsum

0

Вы смотрели на angular-moment?

+0

Я этого не видел. В конце концов, я использовал momentjs с моментом времени и построил клиентские директивы – deitch

Смежные вопросы