如何在 Perl 的 Template::Plugin::Date 中切换时区?
我的网站上有一个日历,是使用 Template::Toolkit 和 < 在 Perl 中生成的a href="http://search.cpan.org/perldoc/Template::Plugin::Date" rel="nofollow noreferrer">Template::Plugin::Date。
它突出显示了当前的一天。我通过迭代所有日期(当我打印日历时)并与当前日期进行比较来实现这一点。就像这样:
[% IF cur_date == date.format(format = '%Y-%m-%d') %]
...
[% END %]
一切都运作良好,直到澳大利亚有人看到它。 (他们与我和我在英国的服务器位于不同的时区)。
让 Template::Plugin::Date
使用不同时区的最佳方法是什么?它接受“区域设置”参数,但据我所知,这仅用于格式化。
I have a calendar on my website, generated in Perl using Template::Toolkit and Template::Plugin::Date.
It highlights the current day. I achieve this by iterating through all the dates (as I print the calendar) and comparing against the current date. Something like this:
[% IF cur_date == date.format(format = '%Y-%m-%d') %]
...
[% END %]
It all works well until someone in Australia looks at it. (They are in a different timezone to me and my server in the UK).
What's the best way to get Template::Plugin::Date
to use a different time zone? It accepts a 'locale' parameter, but AFAIK this is only used for formatting.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于非常简单的日期以外的任何内容,您应该使用 DateTime 和/或 模板: :插件::日期时间。
For anything more than very simple dates, you should be using DateTime and/or Template::Plugin::DateTime.
看起来你不能通过该插件来做到这一点。
一个粗略的想法(没有看到代码)是设置一个变量来标记该用户的当前日期,同时您的脚本循环遍历日期(取决于您提取日期的方式)。该变量将在模板中检查,并为该日期设置 CSS 类或 ID 以突出显示它。
It doesn't look like you can do it via that plugin.
A rough idea (without seeing code) would be to set a variable that marks the current date for that user while your script loops through the dates (depending on how you pull the dates). That variable would be checked in the template and set a CSS class or ID for that date to highlight it.