NAME

Dancer2::Core::Time - class to handle common helpers for time manipulations

VERSION

version 1.0.0

SYNOPSIS

my $time = Dancer2::Core::Time->new( expression => "1h" );
$time->seconds; # return 3600

DESCRIPTION

For consistency, whenever something needs to work with time, it needs to be expressed in seconds, with a timestamp. Although it's very convenient for the machine and calculations, it's not very handy for a human-being, for instance in a configuration file.

This class provides everything needed to translate any human-understandable expression into a number of seconds.

ATTRIBUTES

seconds

Number of seconds represented by the object. Defaults to 0.

epoch

The current epoch to handle. Defaults to seconds + time.

gmt_string

Convert the current value in epoch as a GMT string.

expression

Required. A human readable expression representing the number of seconds to provide.

The format supported is a number followed by an expression. It currently understands:

s second seconds sec secs
m minute minutes min mins
h hr hour hours
d day days
w week weeks
M month months
y year years

Months and years are currently fixed at 30 and 365 days. This may change. Anything else is used verbatim as the expression of a number of seconds.

Example:

2 hours, 3 days, 3d, 1 week, 3600, etc...

AUTHOR

Dancer Core Developers

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by Alexis Sukrieh.

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