---
name: "Badger::Codec::Timestamp"
section: "3pm"
platform: "linux"
package: "libbadger-perl"
version: "0.16-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Badger::Codec::Timestamp"
---

# Badger::Codec::Timestamp(3pm)

encode/decode a timestamp via Badger::Timestamp

## NAME

Badger::Codec::Timestamp - encode/decode a timestamp via Badger::Timestamp

## SYNOPSIS

```
    use Badger::Codec::Timestamp;
    use Badger::Timestamp 'Now';
    my $codec   = Badger::Codec::Timestamp->new();
    my $encoded = $codec->encode(Now);
    my $decoded = $codec->decode($encoded);
```

## DESCRIPTION

This module implements a subclass of Badger::Codec for encoded and decoding timestamps using the Badger::Timestamp module. It is trivially simple, existing only to provide a consistent API with other Badger::Codec modules. It is typically used as a codec for reading and writing timestamps to and from a file via the Badger::Filesystem modules.

```
    use Badger::Filesystem 'File';
    use Badger::Timestamp 'Now';

    my $stamp = Now;                     # current data/time
    my $file  = File(
        'example.ts',                   # filename
        { codec => 'timestamp' }        # specify timestamp codec
    );

    # write timestamp to file
    $file->data($stamp);

    # read timestamp from file
    $stamp = $file->data;
```

## METHODS

### encode($timestamp)

Encodes the timestamp passed as an argument. The argument can be a Badger::Timestamp object or any of the constructor parameters accepted by Badger::Timestamp. The following example demonstrates how this works in principle, although it should be noted that it's completely pointless in practice. It is sufficient to simply call `"Now->timestamp"` to serialise a Badger::Timestamp to text without the need for any codec module (in fact, that's all the `"encode()"` method does behind the scenes).

```
    use Badger::Timestamp 'Now';
    $encoded = Badger::Codec::Timestamp->encode(Now);
```

### decode($data)

Decodes the encoded timestamp passed as the first argument.  Returns a  Badger::Timestamp object.

## AUTHOR

Andy Wardley \<http://wardley.org/\>

## COPYRIGHT

Copyright (C) 2012 Andy Wardley. All rights reserved.

## SEE ALSO

Badger::Codecs, Badger::Codec, Badger::Timestamp
