# add functions to decode an epoch timestamp \(\#9040\) · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/010ca698642673e859f5f39a2f84829a995775f0)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 010ca698642673e859f5f39a2f84829a995775f0

Requested commit: 010ca698642673e859f5f39a2f84829a995775f0

Commit: 010ca698642673e859f5f39a2f84829a995775f0

Tree: ba88a3e668dfa755b4a9735209fc8dd62e71f647

Author: Jonathan Marler

Committer: GitHub

## Message

```
add functions to decode an epoch timestamp (#9040)

* add functions to decode an epoch timestamp

The code added here is alternative to the libc gmtime function. This function takes a unix epoch timestamp and decodes it into things like the year/day/time/etc. I looked at various libc implementations to see how it was implemented and this appears to be correct. I reorganized it so that applications can choose which data they need rather than calcualting it all in a single function. The data structures layout the order of operations required to decode various things like the year/month or time of day.

* set Month.jan to 1 instead of 0 to avoid +1 in conversion to numeric

* add another test

* remove unnecessary comptimeMod
```

## Parents

- [85f065a5115b201b7b6b0b7325a4626211bbb642](https://git.cafe/gitcafe/zig/commit/85f065a5115b201b7b6b0b7325a4626211bbb642?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/010ca698642673e859f5f39a2f84829a995775f0?format=markdown)
