Как я могу переключать часовые пояса в шаблоне Perl Template :: Plugin :: Date? - PullRequest
3 голосов
/ 17 марта 2010

У меня на сайте есть календарь, сгенерированный на Perl с использованием Template :: Toolkit и Template :: Plugin :: Date .

Подсвечивает текущий день. Я достигаю этого, перебирая все даты (когда я печатаю календарь) и сравнивая с текущей датой. Примерно так:

[% IF cur_date == date.format(format = '%Y-%m-%d') %]
...
[% END %]

Все работает хорошо, пока кто-то в Австралии не посмотрит на это. (Они находятся в другом часовом поясе для меня и моего сервера в Великобритании).

Какой лучший способ заставить Template::Plugin::Date использовать другой часовой пояс? Он принимает параметр 'locale', но AFAIK используется только для форматирования.

Ответы [ 2 ]

1 голос
/ 09 апреля 2010

Для чего-то большего, чем очень простые даты, вы должны использовать DateTime и / или Template :: Plugin :: DateTime .

0 голосов
/ 22 марта 2010

Не похоже, что вы можете сделать это с помощью этого плагина.

Грубая идея (без просмотра кода) состоит в том, чтобы установить переменную, которая отмечает текущую дату для этого пользователя, в то время как ваш сценарий циклически перебирает даты (в зависимости от того, как вы извлекаете даты). Эта переменная будет проверена в шаблоне и будет устанавливать CSS-класс или ID для этой даты, чтобы выделить ее.

...