logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Template::Plugin::DateTime::Format - format DateTime objects from inside TT with DateTime::Format-style

Author

       Jonathan Rockway "<jrockway@cpan.org>"

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.

   CREATINGANOBJECT
       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.

   FORMATTINGDATES
       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.

   format($datetime)
       Formats $datetime.

Name

       Template::Plugin::DateTime::Format - format DateTime objects from inside TT with DateTime::Format-style
       formatters

Repository

       <https://github.com/neilbowers/Template-Plugin-DateTime-Format>

Synopsis

          [% USE f = DateTime::Format('DateTime::Format::Strptime', { pattern => "%T" }) %]
          [% f.format(datetime_object) %]

See Also