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

DESCRIPTION

Inflate dates into DateTime objects.

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

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

AUTHOR

Carl Franks, cfranks@cpan.org

LICENSE

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