Timestamp
class Timestamp : NSObject, NSCopying, @unchecked SendableA Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are “smeared” so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.
See
https://github.com/google/protobuf/blob/main/src/google/protobuf/timestamp.proto for the reference timestamp definition.-
Creates a new timestamp.
Declaration
Swift
init(seconds: Int64, nanoseconds: Int32)Parameters
secondsthe number of seconds since epoch.
nanosecondsthe number of nanoseconds after the seconds.
-
Creates a new timestamp.
Parameters
secondsthe number of seconds since epoch.
nanosecondsthe number of nanoseconds after the seconds.
-
Creates a new timestamp from the given date.
Declaration
Swift
convenience init(date: Date) -
Creates a new timestamp with the current date / time.
Declaration
Swift
convenience init() -
Returns a new
Datecorresponding to this timestamp. This may lose precision.Declaration
Swift
func dateValue() -> Date -
Returns the result of comparing the receiver with another timestamp.
Declaration
Swift
func compare(_ other: Timestamp) -> ComparisonResultParameters
otherthe other timestamp to compare.
Return Value
orderedAscendingifotheris chronologically following self,orderedDescendingifotheris chronologically preceding self,orderedSameotherwise. -
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
Declaration
Swift
var seconds: Int64 { get } -
Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
Declaration
Swift
var nanoseconds: Int32 { get }