Template::Plugin::DateTime::Format - format DateTime objects from inside TT with DateTime::Format-style formatters
DateTime::Format
version 0.02
[% USE f = DateTime::Format('DateTime::Format::Strptime', { pattern => "%T" }) %] [% f.format(datetime_object) %]
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 a formatter instance is done in the usual TT way:
[% USE varname = DateTime::Format( ... args ... ) %]
This creates a new formatter and calls it varname.
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.
new
@_
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.
format_datetime
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.
format
Called by TT to create a new formatter.
Formats $datetime.
$datetime
Jonathan Rockway <jrockway@cpan.org>
<jrockway@cpan.org>
Copyright (c) 2008 Jonathan Rockway.
This module is free software. You may redistribute it under the same terms as perl itself.
This software is copyright (c) 2010 by Jonathan Rockway.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Template::Plugin::DateTime::Format, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Template::Plugin::DateTime::Format
CPAN shell
perl -MCPAN -e shell install Template::Plugin::DateTime::Format
For more information on module installation, please visit the detailed CPAN module installation guide.