timeutil

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: May 3, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddClock

func AddClock(t time.Time, c Clock) time.Time

AddClock will add the provided number of clock hours to the given time, taking things like DST into account.

func HoursBetween

func HoursBetween(a, b time.Time) int

HoursBetween will return the number of full hours from a to b with respect to clock time and DST.

It is assumed a and b are of the same location.

func NextWeekday

func NextWeekday(t time.Time, w time.Weekday) time.Time

NextWeekday will return t at the start of the next weekday w. The returned value will always be in the future.

func PrevWeekday

func PrevWeekday(t time.Time, w time.Weekday) time.Time

PrevWeekday will return t at the start of the most recent weekday w. The returned value will be identical if it is already the start of the requested weekday.

func StartOfDay

func StartOfDay(t time.Time) time.Time

StartOfDay will return the start of the day in t's location.

Types

type Clock

type Clock time.Duration

Clock represents wall-clock time. It is a duration since midnight.

func ClockDiff

func ClockDiff(a, b time.Time) Clock

ClockDiff will return the amount of clock time from a to b with respect to DST.

It is assumed a and b are of the same location.

func IsDST

func IsDST(t time.Time) (dst bool, at, change Clock)

IsDST will return true if there is a DST change within 24-hours AFTER t.

If so, the clock-time and amount of change is calculated.

func NewClock

func NewClock(hour, minute int) Clock

NewClock returns a Clock value equal to the provided 24-hour value and minute.

func NewClockFromTime

func NewClockFromTime(t time.Time) Clock

NewClockFromTime will return the Clock value of the provided time.

func ParseClock

func ParseClock(value string) (Clock, error)

ParseClock will return a new Clock value given a value in the format of '15:04' or '15:04:05'. The resulting value will be truncated to the minute.

func (Clock) Days

func (c Clock) Days() (int, Clock)

Days will return the number of whole days and the remainder Clock value.

func (Clock) FirstOfDay

func (c Clock) FirstOfDay(t time.Time) time.Time

FirstOfDay will return the first timestamp where the time matches the clock value, or the first instant after, if it does not exist.

func (Clock) Format

func (c Clock) Format(layout string) string

Format will format the clock value using the same format string used by time.Time.

func (Clock) Hour

func (c Clock) Hour() int

Hour returns the hour of the Clock value.

func (Clock) Is

func (c Clock) Is(t time.Time) bool

Is returns true if t represents the same clock time.

func (Clock) LastOfDay

func (c Clock) LastOfDay(t time.Time) time.Time

LastOfDay will return the last timestamp where the time matches the clock value, or the first instant after, if it does not exist.

func (Clock) Minute

func (c Clock) Minute() int

Minute returns the minute of the Clock value.

func (*Clock) Scan

func (c *Clock) Scan(value interface{}) error

Scan implements the sql.Scanner interface.

func (Clock) String

func (c Clock) String() string

String returns a string representation of the format '15:04'.

func (Clock) Value

func (c Clock) Value() (driver.Value, error)

Value implements the driver.Valuer interface.

Jump to

Keyboard shortcuts

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