NAME¶
Template::Plugin::DateTime::Format - format DateTime objects from inside TT with
DateTime::Format-style formatters
SYNOPSIS¶
[% USE f = DateTime::Format('DateTime::Format::Strptime', { pattern => "%T" }) %]
[% f.format(datetime_object) %]
DESCRIPTION¶
Oftentimes, you have a DateTime object that you want to render in your template.
However, the default rendering (2008-01-01T01:23:45) is pretty ugly.
Formatting the DateTime with a DateTime::Format object is the usual solution,
but there's usually not a nice place to put the formatting code.
This plugin solves that problem. You can create a formatter object from within
TT and then use that object to format DateTime objects.
CREATING AN OBJECT¶
Creating a formatter instance is done in the usual TT way:
[% USE varname = DateTime::Format( ... args ... ) %]
This creates a new formatter and calls it "varname".
The constructor takes up to three arguments. The first argument is the name of
the formatter class. It is required, and the named class must follow the
DateTime::Format API. An exception will be thrown if the class cannot be
loaded.
The second argument is a reference to pass to the formatter's constructor. If it
is an array reference, the array will be dereferenced before being passed to
"new" as @_. Otherwise, the single reference is passed to the
constructor.
The third argument is optional and is the rest of @_ to pass to
"format_datetime" after the DateTime object. I don't know if this is
actually allowed by the API, but I figured it might come in handy.
Once you've created the object, invoke the "format" method with the
DateTime object you'd like to format. The result of
"format_datetime" is returned.
METHODS¶
new¶
Called by TT to create a new formatter.
Formats $datetime.
REPOSITORY¶
<
https://github.com/neilbowers/Template-Plugin-DateTime-Format>
AUTHOR¶
Jonathan Rockway "<jrockway@cpan.org>"
COPYRIGHT AND LICENSE¶
Copyright (c) 2008 Jonathan Rockway.
This module is free software. You may redistribute it under the same terms as
perl itself.