---
name: "Dancer2::Core::Time"
section: "3pm"
platform: "linux"
package: "libdancer2-perl"
version: "1.1.2+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Dancer2::Core::Time"
---

# Dancer2::Core::Time(3pm)

class to handle common helpers for time manipulations

## NAME

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

## VERSION

version 1.1.2

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