NullTime is a time.Time wrapper that marshals zero time as JSON null and SQL NULL.
Timetime.TimeTime.extint64
loc specifies the Location that should be used to
determine the minute, hour, month, day, and year
that correspond to this Time.
The nil location means UTC.
All UTC times are represented with loc==nil, never loc==&utcLoc.
wall and ext encode the wall time seconds, wall time nanoseconds,
and optional monotonic clock reading in nanoseconds.
From high to low bit position, wall encodes a 1-bit flag (hasMonotonic),
a 33-bit seconds field, and a 30-bit wall time nanoseconds field.
The nanoseconds field is in the range [0, 999999999].
If the hasMonotonic bit is 0, then the 33-bit field must be zero
and the full signed 64-bit wall seconds since Jan 1 year 1 is stored in ext.
If the hasMonotonic bit is 1, then the 33-bit field holds a 33-bit
unsigned wall seconds since Jan 1 year 1885, and ext holds a
signed 64-bit monotonic clock reading, nanoseconds since process start.
Add returns the time t+d.
AddDate returns the time corresponding to adding the
given number of years, months, and days to t.
For example, AddDate(-1, 2, 3) applied to January 1, 2011
returns March 4, 2010.
AddDate normalizes its result in the same way that Date does,
so, for example, adding one month to October 31 yields
December 1, the normalized form for November 31.
After reports whether the time instant t is after u.
AppendFormat is like Format but appends the textual
representation to b and returns the extended buffer.
( T) AppendQuery(fmter Formatter, b []byte) ([]byte, error)
Before reports whether the time instant t is before u.
Clock returns the hour, minute, and second within the day specified by t.
Date returns the year, month, and day in which t occurs.
Day returns the day of the month specified by t.
Equal reports whether t and u represent the same time instant.
Two times can be equal even if they are in different locations.
For example, 6:00 +0200 and 4:00 UTC are Equal.
See the documentation on the Time type for the pitfalls of using == with
Time values; most code should use Equal instead.
Format returns a textual representation of the time value formatted
according to layout, which defines the format by showing how the reference
time, defined to be
Mon Jan 2 15:04:05 -0700 MST 2006
would be displayed if it were the value; it serves as an example of the
desired output. The same display rules will then be applied to the time
value.
A fractional second is represented by adding a period and zeros
to the end of the seconds section of layout string, as in "15:04:05.000"
to format a time stamp with millisecond precision.
Predefined layouts ANSIC, UnixDate, RFC3339 and others describe standard
and convenient representations of the reference time. For more information
about the formats and the definition of the reference time, see the
documentation for ANSIC and the other constants defined by this package.
GobDecode implements the gob.GobDecoder interface.
GobEncode implements the gob.GobEncoder interface.
Hour returns the hour within the day specified by t, in the range [0, 23].
ISOWeek returns the ISO 8601 year and week number in which t occurs.
Week ranges from 1 to 53. Jan 01 to Jan 03 of year n might belong to
week 52 or 53 of year n-1, and Dec 29 to Dec 31 might belong to week 1
of year n+1.
In returns a copy of t representing the same time instant, but
with the copy's location information set to loc for display
purposes.
In panics if loc is nil.
IsZero reports whether t represents the zero time instant,
January 1, year 1, 00:00:00 UTC.
Local returns t with the location set to local time.
Location returns the time zone information associated with t.
MarshalBinary implements the encoding.BinaryMarshaler interface.
( T) MarshalJSON() ([]byte, error)
MarshalText implements the encoding.TextMarshaler interface.
The time is formatted in RFC 3339 format, with sub-second precision added if present.
Minute returns the minute offset within the hour specified by t, in the range [0, 59].
Month returns the month of the year specified by t.
Nanosecond returns the nanosecond offset within the second specified by t,
in the range [0, 999999999].
Round returns the result of rounding t to the nearest multiple of d (since the zero time).
The rounding behavior for halfway values is to round up.
If d <= 0, Round returns t stripped of any monotonic clock reading but otherwise unchanged.
Round operates on the time as an absolute duration since the
zero time; it does not operate on the presentation form of the
time. Thus, Round(Hour) may return a time with a non-zero
minute, depending on the time's Location.
(*T) Scan(src interface{}) error
Second returns the second offset within the minute specified by t, in the range [0, 59].
String returns the time formatted using the format string
"2006-01-02 15:04:05.999999999 -0700 MST"
If the time has a monotonic clock reading, the returned string
includes a final field "m=±<value>", where value is the monotonic
clock reading formatted as a decimal number of seconds.
The returned string is meant for debugging; for a stable serialized
representation, use t.MarshalText, t.MarshalBinary, or t.Format
with an explicit format string.
Sub returns the duration t-u. If the result exceeds the maximum (or minimum)
value that can be stored in a Duration, the maximum (or minimum) duration
will be returned.
To compute t-d for a duration d, use t.Add(-d).
Truncate returns the result of rounding t down to a multiple of d (since the zero time).
If d <= 0, Truncate returns t stripped of any monotonic clock reading but otherwise unchanged.
Truncate operates on the time as an absolute duration since the
zero time; it does not operate on the presentation form of the
time. Thus, Truncate(Hour) may return a time with a non-zero
minute, depending on the time's Location.
UTC returns t with the location set to UTC.
Unix returns t as a Unix time, the number of seconds elapsed
since January 1, 1970 UTC. The result does not depend on the
location associated with t.
Unix-like operating systems often record time as a 32-bit
count of seconds, but since the method here returns a 64-bit
value it is valid for billions of years into the past or future.
UnixNano returns t as a Unix time, the number of nanoseconds elapsed
since January 1, 1970 UTC. The result is undefined if the Unix time
in nanoseconds cannot be represented by an int64 (a date before the year
1678 or after 2262). Note that this means the result of calling UnixNano
on the zero Time is undefined. The result does not depend on the
location associated with t.
UnmarshalBinary implements the encoding.BinaryUnmarshaler interface.
(*T) UnmarshalJSON(b []byte) error
UnmarshalText implements the encoding.TextUnmarshaler interface.
The time is expected to be in RFC 3339 format.
Weekday returns the day of the week specified by t.
Year returns the year in which t occurs.
YearDay returns the day of the year specified by t, in the range [1,365] for non-leap years,
and [1,366] in leap years.
Zone computes the time zone in effect at time t, returning the abbreviated
name of the zone (such as "CET") and its offset in seconds east of UTC.
abs returns the time t as an absolute time, adjusted by the zone offset.
It is called when computing a presentation property like Month or Hour.
addSec adds d seconds to the time.
date computes the year, day of year, and when full=true,
the month and day in which t occurs.
locabs is a combination of the Zone and abs methods,
extracting both return values from a single zone lookup.
mono returns t's monotonic clock reading.
It returns 0 for a missing reading.
This function is used only for testing,
so it's OK that technically 0 is a valid
monotonic clock reading as well.
nsec returns the time's nanoseconds.
sec returns the time's seconds since Jan 1 year 1.
setLoc sets the location associated with the time.
setMono sets the monotonic clock reading in t.
If t cannot hold a monotonic clock reading,
because its wall time is too large,
setMono is a no-op.
stripMono strips the monotonic clock reading in t.
unixSec returns the time's seconds since Jan 1 1970 (Unix time).
T : QueryAppender
*T : database/sql.Scanner
T : encoding.BinaryMarshaler
*T : encoding.BinaryUnmarshaler
T : encoding.TextMarshaler
*T : encoding.TextUnmarshaler
T : encoding/json.Marshaler
*T : encoding/json.Unmarshaler
T : fmt.Stringer
T : isZeroer
T : github.com/vmihailenco/msgpack/v5.isZeroer
T : context.stringer
*T : crypto/hmac.marshalable
T : os/signal.stringer
T : runtime.stringer
The pages are generated with Goldsv0.3.6. (GOOS=darwin GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds.