FirebaseCore Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
FIRTimestamp
@interface FIRTimestamp : NSObject <NSCopying>
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.
-
Declaration
Objective-C
- (nonnull instancetype)initWithSeconds:(int64_t)seconds
nanoseconds:(int32_t)nanoseconds;
Parameters
seconds
|
the number of seconds since epoch.
|
nanoseconds
|
the number of nanoseconds after the seconds.
|
-
Declaration
Objective-C
+ (nonnull instancetype)timestampWithSeconds:(int64_t)seconds
nanoseconds:(int32_t)nanoseconds;
Parameters
seconds
|
the number of seconds since epoch.
|
nanoseconds
|
the number of nanoseconds after the seconds.
|
-
Creates a new timestamp from the given date.
Declaration
Objective-C
+ (nonnull instancetype)timestampWithDate:(nonnull NSDate *)date;
-
Creates a new timestamp with the current date / time.
Declaration
Objective-C
+ (nonnull instancetype)timestamp;
-
Returns a new Date
corresponding to this timestamp. This may lose precision.
Declaration
Objective-C
- (nonnull NSDate *)dateValue;
-
Returns the result of comparing the receiver with another timestamp.
Declaration
Objective-C
- (NSComparisonResult)compare:(nonnull FIRTimestamp *)other;
Parameters
other
|
the other timestamp to compare.
|
Return Value
orderedAscending
if other
is chronologically following self,
orderedDescending
if other
is chronologically preceding self,
orderedSame
otherwise.
-
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
Objective-C
@property (nonatomic, readonly) int64_t seconds;
-
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
Objective-C
@property (nonatomic, readonly) int32_t nanoseconds;
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-03-11 UTC.
[null,null,["Last updated 2025-03-11 UTC."],[],[],null,["FIRTimestamp \n\n\n @interface FIRTimestamp : NSObject \u003cNSCopying\u003e\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 [-initWithSeconds:nanoseconds:](#/c:objc(cs)FIRTimestamp(im)initWithSeconds:nanoseconds:)`\n ` \n Creates a new timestamp. \n\n Declaration \n Objective-C \n\n - (nonnull instancetype)initWithSeconds:(int64_t)seconds\n nanoseconds:(int32_t)nanoseconds;\n\n Parameters\n\n- `\n ``\n ``\n `\n\n [+timestampWithSeconds:nanoseconds:](#/c:objc(cs)FIRTimestamp(cm)timestampWithSeconds:nanoseconds:)`\n ` \n Creates a new timestamp. \n\n Declaration \n Objective-C \n\n + (nonnull instancetype)timestampWithSeconds:(int64_t)seconds\n nanoseconds:(int32_t)nanoseconds;\n\n Parameters\n\n- `\n ``\n ``\n `\n\n [+timestampWithDate:](#/c:objc(cs)FIRTimestamp(cm)timestampWithDate:)`\n ` \n Creates a new timestamp from the given date. \n\n Declaration \n Objective-C \n\n + (nonnull instancetype)timestampWithDate:(nonnull NSDate *)date;\n\n- `\n ``\n ``\n `\n\n [+timestamp](#/c:objc(cs)FIRTimestamp(cm)timestamp)`\n ` \n Creates a new timestamp with the current date / time. \n\n Declaration \n Objective-C \n\n + (nonnull instancetype)timestamp;\n\n- `\n ``\n ``\n `\n\n [-dateValue](#/c:objc(cs)FIRTimestamp(im)dateValue)`\n ` \n Returns a new `Date` corresponding to this timestamp. This may lose precision. \n\n Declaration \n Objective-C \n\n - (nonnull NSDate *)dateValue;\n\n- `\n ``\n ``\n `\n\n [-compare:](#/c:objc(cs)FIRTimestamp(im)compare:)`\n ` \n Returns the result of comparing the receiver with another timestamp. \n\n Declaration \n Objective-C \n\n - (NSComparisonResult)compare:(nonnull FIRTimestamp *)other;\n\n Parameters\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 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 Objective-C \n\n @property (nonatomic, readonly) int64_t seconds;\n\n- `\n ``\n ``\n `\n\n [nanoseconds](#/c:objc(cs)FIRTimestamp(py)nanoseconds)`\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 Objective-C \n\n @property (nonatomic, readonly) int32_t nanoseconds;"]]