Scroll to navigation

Time::Duration::Parse(3pm) User Contributed Perl Documentation Time::Duration::Parse(3pm)

NAME

Time::Duration::Parse - Parse string that represents time duration

SYNOPSIS

  use Time::Duration::Parse;
  my $seconds = parse_duration("2 minutes and 3 seconds"); # 123

DESCRIPTION

Time::Duration::Parse is a module to parse human readable duration strings like 2 minutes and 3 seconds to seconds.

It does the opposite of "duration_exact" in Time::Duration function in Time::Duration and is roundtrip safe. So, the following is always true.

  use Time::Duration::Parse;
  use Time::Duration;
  my $seconds = int rand 100000;
  is( parse_duration(duration_exact($seconds)), $seconds );

FUNCTIONS

  $seconds = parse_duration($string);
    

Parses duration string and returns seconds. When it encounters an error in a given string, it dies with an exception saying "Unknown timespec: blah blah blah". This function is exported by default.

SEE ALSO

Time::Duration::Parse::More has the same interface as this module, but supports more expressions and memoization.

Time::Duration can be used for the reverse of this module: given a number of seconds it will provide an English description of the duration.

Time::Duration::Object provides an OO interface to Time::Duration.

Time::Duration::LocaleObject provides an OO interface to the "Time::Duration::??" modules, which provide language-specific versions of Time::Duration.

DateTime::Format::Duration can be used to parse natural language descriptions of durations, returning an instance of DateTime::Duration, which can then be converted to seconds using the "in_units()" method.

REPOSITORY

<https://github.com/neilb/Time-Duration-Parse>

AUTHOR

Tatsuhiko Miyagawa <miyagawa@bulknews.net>

COPYRIGHT

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

Some internal code is taken from Cache and Cache::Cache modules on CPAN.

2021-09-03 perl v5.32.1