FirebaseCore Framework Reference

FIRTimestamp

@interfaceFIRTimestamp: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.

  • Creates a new timestamp.

    Declaration

    Objective-C

    -(nonnullinstancetype)initWithSeconds:(int64_t)secondsnanoseconds:(int32_t)nanoseconds;

    Parameters

    seconds

    the number of seconds since epoch.

    nanoseconds

    the number of nanoseconds after the seconds.

  • Creates a new timestamp.

    Declaration

    Objective-C

    +(nonnullinstancetype)timestampWithSeconds:(int64_t)secondsnanoseconds:(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

    +(nonnullinstancetype)timestampWithDate:(nonnullNSDate*)date;
  • Creates a new timestamp with the current date / time.

    Declaration

    Objective-C

    +(nonnullinstancetype)timestamp;
  • Returns a newDate corresponding to this timestamp. This may lose precision.

    Declaration

    Objective-C

    -(nonnullNSDate*)dateValue;
  • Returns the result of comparing the receiver with another timestamp.

    Declaration

    Objective-C

    -(NSComparisonResult)compare:(nonnullFIRTimestamp*)other;

    Parameters

    other

    the other timestamp to compare.

    Return Value

    orderedAscending ifother is chronologically following self,orderedDescending ifother 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_tseconds;
  • Non-negative fractions of a second at nanosecond resolution. Negative second values withfractions 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_tnanoseconds;

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-03-11 UTC.