Timestamp

public final classTimestamp implementsComparable,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 classTimestamp.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 newTimestamp.

Public methods

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

Returns a newDate corresponding to this timestamp.

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

Returns a newInstant 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 newTimestamp.

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 newDate corresponding to this timestamp.

This may lose precision.

toInstant

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

Returns a newInstant that matches the time defined by this timestamp.

toString

public @NonNullString toString()

writeToParcel

public void writeToParcel(@NonNullParcel dest, int flags)

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-07-21 UTC.