Popularity
1.3
Growing
Activity
4.2
-
14
1
3

Programming language: Go
License: MIT License
Tags: Date & Time     Serialization     Json     Go     Golang     Date     Time    
Latest version: v1.3.0

epoch alternatives and similar packages

Based on the "JSON" category.
Alternatively, view epoch alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of epoch or a related project?

Add another 'JSON' Package

README

epoch

Mentioned in Awesome Go Godoc Reference build codecov goreportcard

Contains primitives for marshaling/unmarshaling Unix timestamp/epoch to/from built-in time.Time type in JSON.

Seconds

Seconds since the Epoch(Unix time), e.g.:

  {"timestamp":1136239445}

Inherits built-in time.Time type, thus has all it methods, but has custom serializer and deserializer(converts integer into built-in time.Time and vice versa).

Usage Example

package main

import (
    "encoding/json"
    "fmt"

    "github.com/vtopc/epoch"
)

type Request struct {
    Timestamp epoch.Seconds `json:"timestamp"`
}

func main() {
    var v Request
    err := json.Unmarshal([]byte(`{"timestamp":1136239445}`), &v)
    if err != nil {
        panic(err)
    }

    fmt.Printf("%+v\n", v)
    // Output: {Timestamp:2006-01-03 00:04:05 +0200 EET}

    // Also as epoch.Seconds inherits all time.Time's methods one can do next:
    fmt.Println(v.Timestamp.Year())
    // Output: 2006
    fmt.Println(v.Timestamp.UTC().String())
    // Output: 2006-01-02 22:04:05 +0000 UTC
}

Milliseconds

Same as epoch.Seconds, but for Epoch(Unix time) in milliseconds, e.g.:

  {"timestamp":1136239445999}

StrSeconds

Same as epoch.Seconds, but for strings, e.g.:

  {"timestamp":"1136239445"}

StrMilliseconds

Same as epoch.Milliseconds, but for strings, e.g.:

  {"timestamp":"1136239445999"}