Documentation ¶
Overview ¶
Package timeutils provides helper functions to parse and print time (time.Time).
Index ¶
Constants ¶
const ( // RFC3339NanoFixed is our own version of RFC339Nano because we want one // that pads the nano seconds part with zeros to ensure // the timestamps are aligned in the logs. RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00" // JSONFormat is the format used by FastMarshalJSON JSONFormat = `"` + time.RFC3339Nano + `"` )
Variables ¶
This section is empty.
Functions ¶
func FastMarshalJSON ¶
FastMarshalJSON avoids one of the extra allocations that time.MarshalJSON is making.
func GetTimestamp ¶
GetTimestamp tries to parse given string as golang duration, then RFC3339 time and finally as a Unix timestamp. If any of these were successful, it returns a Unix timestamp as string otherwise returns the given value back. In case of duration input, the returned timestamp is computed as the given reference time minus the amount of the duration.
func ParseTimestamps ¶
ParseTimestamps returns seconds and nanoseconds from a timestamp that has the format "%d.%09d", time.Unix(), int64(time.Nanosecond())) if the incoming nanosecond portion is longer or shorter than 9 digits it is converted to nanoseconds. The expectation is that the seconds and seconds will be used to create a time variable. For example:
seconds, nanoseconds, err := ParseTimestamp("1136073600.000000001",0) if err == nil since := time.Unix(seconds, nanoseconds)
returns seconds as def(aultSeconds) if value == ""
Types ¶
This section is empty.