Timestamp

public final class Timestamp implements Comparable, Parcelable


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. Furthermore,It is encoded assuming all minutes are 60 seconds long, specifically 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 also

TimestampThe ref timestamp definition

Summary

Nested types

public static class Timestamp.Companion

Public fields

static final @NonNullParcelable.Creator<@NonNullTimestamp>
final int
final long

Public constructors

@RequiresApi(value = 26)
Timestamp(@NonNullInstant time)
Timestamp(long seconds, int nanoseconds)

Creates a new Timestamp.

Public methods

int
int
boolean
equals(Object other)
int
static final @NonNullTimestamp
now()
final @NonNullDate

Returns a new Date corresponding to this timestamp.

final @NonNullInstant
@RequiresApi(value = 26)
toInstant()

Returns a new Instant that matches the time defined by this timestamp.

@NonNullString
void
writeToParcel(@NonNullParcel dest, int flags)

Public fields

CREATOR

public static final @NonNullParcelable.Creator<@NonNullTimestampCREATOR

nanoseconds

public final int nanoseconds

seconds

public final long seconds

Public constructors

Timestamp

public Timestamp(@NonNullDate date)

Timestamp

@RequiresApi(value = 26)
public Timestamp(@NonNullInstant time)

Timestamp

public Timestamp(long seconds, int nanoseconds)

Creates a new Timestamp.

Parameters
long seconds

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.

int nanoseconds

represents non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanoseconds values that count forward in time. Must be from 0 to 999,999,999 inclusive.

Public methods

compareTo

public int compareTo(@NonNullTimestamp other)

describeContents

public int describeContents()

equals

public boolean equals(Object other)

hashCode

public int hashCode()

now

public static final @NonNullTimestamp now()

toDate

public final @NonNullDate toDate()

Returns a new Date corresponding to this timestamp.

This may lose precision.

toInstant

@RequiresApi(value = 26)
public final @NonNullInstant toInstant()

Returns a new Instant that matches the time defined by this timestamp.

toString

public @NonNullString toString()

writeToParcel

public void writeToParcel(@NonNullParcel dest, int flags)