Perl ISO格式的模板工具包日期时间作为输入

Perl ISO格式的模板工具包日期时间作为输入,perl,datetime,iso,template-toolkit,Perl,Datetime,Iso,Template Toolkit,有没有一种简单的方法让模板工具包接受ISO 8601格式的日期/时间作为输入 具体来说,我正在寻找合并的日期/时间格式,假设UTC时间: yyyy-mm-ddThh:mm:ssZ 然后让TT根据区域设置调整时区和格式。当然,您应该使用模块,并解析和格式化(从DateTime转换为字符串,反之亦然)。这似乎可行,但有点麻烦: <% USE date %> ... <% date.format(mydatetime.substr(0,10) _ ' ' _ mydatetime.

有没有一种简单的方法让模板工具包接受ISO 8601格式的日期/时间作为输入

具体来说,我正在寻找合并的日期/时间格式,假设UTC时间:

yyyy-mm-ddThh:mm:ssZ


然后让TT根据区域设置调整时区和格式。

当然,您应该使用模块,并解析和格式化(从DateTime转换为字符串,反之亦然)。

这似乎可行,但有点麻烦:

<% USE date %>
...
<% date.format(mydatetime.substr(0,10) _ ' ' _ mydatetime.substr(11,8), '%c', 'en_US') %>

...

接受其他建议。假设我们是本地人。

是的,但本着MVC的精神,我希望完全在TemplateToolkit中完成。我想出了一个方法(请参阅我的自我回答,稍后我将发布)但不确定这是否是最好的。在控制器上,您可以处理这些日期来处理视图。这个问题可能会帮助您:谢谢Miguel,我现在不知道您可以在TT中使用任何Perl模块。如果TT日期插件接受ISO日期作为输入,而不必使用另一个模块,那当然很好;这将是理想的答案我会接受你的,谢谢!我也会接受。如果你愿意接受不太完美的解析,而不必像接受的答案中所描述的那样添加另一个Perl模块,那么我的答案会非常困难。