timeutil

package
v0.0.0-...-0f89747 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2018 License: MIT Imports: 4 Imported by: 5

Documentation

Overview

Package timeutil contains functions and types which aid in dealing with time

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Timestamp

type Timestamp struct {
	time.Time
}

Timestamp is a wrapper around time.Time which adds methods to marshal and unmarshal the value as a unix timestamp instead of a formatted string

func TimestampFromFloat64

func TimestampFromFloat64(ts float64) Timestamp

TimestampFromFloat64 returns a Timestamp equal to the given float64, assuming it too is a unix timestamp. The float64 is interpreted as number of seconds, with everything after the decimal indicating milliseconds, microseconds, and nanoseconds

func TimestampFromInt64

func TimestampFromInt64(ts int64) Timestamp

TimestampFromInt64 returns a Timestamp equal to the given int64, assuming it too is a unix timestamp

func TimestampFromString

func TimestampFromString(ts string) (Timestamp, error)

TimestampFromString attempts to parse the string as a float64, and then passes that into TimestampFromFloat64, returning the result

func TimestampNow

func TimestampNow() Timestamp

TimestampNow is simply a wrapper around time.Now which returns a Timestamp.

func (Timestamp) Float64

func (t Timestamp) Float64() float64

Float64 returns the float representation of the timestamp in seconds.

func (Timestamp) GetBSON

func (t Timestamp) GetBSON() (interface{}, error)

GetBSON implements the bson.Getter interface

func (Timestamp) IsUnixZero

func (t Timestamp) IsUnixZero() bool

IsUnixZero returns true if the timestamp is equal to the unix zero timestamp, representing 1/1/1970. This is different than checking if the timestamp is the empty value (which should be done with IsZero)

func (Timestamp) MarshalJSON

func (t Timestamp) MarshalJSON() ([]byte, error)

MarshalJSON returns the JSON representation of the Timestamp as an integer. It never returns an error

func (*Timestamp) SetBSON

func (t *Timestamp) SetBSON(raw bson.Raw) error

SetBSON implements the bson.Setter interface

func (Timestamp) String

func (t Timestamp) String() string

String returns the string representation of the Timestamp, in the form of a floating point form of the time as a unix timestamp

func (*Timestamp) UnmarshalJSON

func (t *Timestamp) UnmarshalJSON(b []byte) error

UnmarshalJSON takes a JSON integer and converts it into a Timestamp, or returns an error if this can't be done

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL