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

HTML::FormFu::Inflator::DateTime - DateTime inflator

Author

       Carl Franks <cpan@fireartist.com>

Description

       Inflate dates into DateTime objects.

       For a corresponding deflator, see HTML::FormFu::Deflator::Strftime.

License

       This library is free software, you can redistribute it and/or modify it under the same terms as Perl
       itself.

Methods

parser
       Arguments: \%args

       Required. Define the expected input string, so DateTime::Format::Builder knows how to inflate it into a
       DateTime object.

       Accepts arguments to be passed to "parser" in DateTime::Format::Builder.

   strptime
       Arguments: \%args

       Arguments: $string

       Optional. Define the format that should be used if the DateTime object is stringified.

   time_zone
       Arguments: $string

       Optional. You can pass along a time_zone in which the DateTime will be created. This is useful if the
       string to parse does not contain time zone information and you want the DateTime to be in a specific zone
       instead of the floating one (which is likely).

       Accepts a hashref of arguments to be passed to "new" in DateTime::Format::Strptime. Alternatively,
       accepts a single string argument, suitable for passing to "DateTime::Format::Strptime->new( pattern =>
       $string )".

Name

       HTML::FormFu::Inflator::DateTime - DateTime inflator

Synopsis

           ---
           elements:
             - type: Text
               name: start_date
               inflators:
                 - type: DateTime
                   parser:
                     strptime: '%d-%m-%Y'
                   strptime:
                     pattern: '%d-%b-%Y'
                     locale: de

             - type: Text
               name: end_time
               inflators:
                 - type: DateTime
                   time_zone: Europe/Rome
                   parser:
                     regex: '^ (\d{2}) - (\d{2}) - (\d{4}) $'
                     params: [day, month, year]
                   strptime: '%d-%m-%Y'

       An example of using the same parser declaration for both a DateTime constraint and a DateTime inflator,
       using YAML references:

           ---
           elements:
             - type: Text
               name: date
               constraints:
                 - type: DateTime
                   parser: &PARSER
                     strptime: '%d-%m-%Y'
               inflators:
                 - type: DateTime
                   parser: *PARSER

Version

       version 2.07

See Also