A 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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-11 UTC."],[],[],null,["# FirebaseCore Framework Reference\n\nTimestamp\n=========\n\n class Timestamp : NSObject, NSCopying, @unchecked Sendable\n\nA Timestamp represents a point in time independent of any time zone or calendar, represented as\nseconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using\nthe Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It\nis encoded assuming all minutes are 60 seconds long, i.e. leap seconds are \"smeared\" so that no\nleap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to\nand from RFC 3339 date strings. \nSee\n\u003chttps://github.com/google/protobuf/blob/main/src/google/protobuf/timestamp.proto\u003e for the reference timestamp definition.\n- `\n ``\n ``\n `\n\n ### [init(seconds:nanoseconds:)](#/c:objc(cs)FIRTimestamp(im)initWithSeconds:nanoseconds:)\n\n `\n ` \n Creates a new timestamp. \n\n #### Declaration\n\n Swift \n\n init(seconds: Int64, nanoseconds: Int32)\n\n #### Parameters\n\n |---------------------|----------------------------------------------|\n | ` `*seconds*` ` | the number of seconds since epoch. |\n | ` `*nanoseconds*` ` | the number of nanoseconds after the seconds. |\n\n- `\n ``\n ``\n `\n\n ### [+timestampWithSeconds:nanoseconds:](#/c:objc(cs)FIRTimestamp(cm)timestampWithSeconds:nanoseconds:)\n\n `\n ` \n Creates a new timestamp. \n\n #### Parameters\n\n |---------------------|----------------------------------------------|\n | ` `*seconds*` ` | the number of seconds since epoch. |\n | ` `*nanoseconds*` ` | the number of nanoseconds after the seconds. |\n\n- `\n ``\n ``\n `\n\n ### [init(date:)](#/c:objc(cs)FIRTimestamp(cm)timestampWithDate:)\n\n `\n ` \n Creates a new timestamp from the given date. \n\n #### Declaration\n\n Swift \n\n convenience init(date: Date)\n\n- `\n ``\n ``\n `\n\n ### [init()](#/c:objc(cs)FIRTimestamp(cm)timestamp)\n\n `\n ` \n Creates a new timestamp with the current date / time. \n\n #### Declaration\n\n Swift \n\n convenience init()\n\n- `\n ``\n ``\n `\n\n ### [dateValue()](#/c:objc(cs)FIRTimestamp(im)dateValue)\n\n `\n ` \n Returns a new `Date` corresponding to this timestamp. This may lose precision. \n\n #### Declaration\n\n Swift \n\n func dateValue() -\u003e Date\n\n- `\n ``\n ``\n `\n\n ### [compare(_:)](#/c:objc(cs)FIRTimestamp(im)compare:)\n\n `\n ` \n Returns the result of comparing the receiver with another timestamp. \n\n #### Declaration\n\n Swift \n\n func compare(_ other: Timestamp) -\u003e ComparisonResult\n\n #### Parameters\n\n |---------------|---------------------------------|\n | ` `*other*` ` | the other timestamp to compare. |\n\n #### Return Value\n\n `orderedAscending` if `other` is chronologically following self,\n `orderedDescending` if `other` is chronologically preceding self,\n `orderedSame` otherwise.\n- `\n ``\n ``\n `\n\n ### [seconds](#/c:objc(cs)FIRTimestamp(py)seconds)\n\n `\n ` \n Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z.\n Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. \n\n #### Declaration\n\n Swift \n\n var seconds: Int64 { get }\n\n- `\n ``\n ``\n `\n\n ### [nanoseconds](#/c:objc(cs)FIRTimestamp(py)nanoseconds)\n\n `\n ` \n Non-negative fractions of a second at nanosecond resolution. Negative second values with\n fractions must still have non-negative nanos values that count forward in time.\n Must be from 0 to 999,999,999 inclusive. \n\n #### Declaration\n\n Swift \n\n var nanoseconds: Int32 { get }"]]