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. 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.

See also
Timestamp The ref timestamp definition

Summary

Constants

static final @NonNull Parcelable.Creator<Timestamp>

Public fields

final int
final long

Public constructors

Creates a new timestamp from the given date.

Timestamp(long seconds, int nanoseconds)

Creates a new timestamp.

Protected constructors

Public methods

int
int
boolean
equals(Object other)
int

Returns the sub-second part of the timestamp, in nanoseconds.

long

Returns the seconds part of the timestamp.

int
static @NonNull Timestamp
now()

Creates a new timestamp with the current date, with millisecond precision.

@NonNull Date

Returns a new Date corresponding to this timestamp.

String
void
writeToParcel(@NonNull Parcel dest, int flags)

Inherited Constants

From android.os.Parcelable
static final int
static final int

Constants

CREATOR

public static final @NonNull Parcelable.Creator<TimestampCREATOR

Public fields

nanoseconds

public final int nanoseconds

seconds

public final long seconds

Public constructors

Timestamp

public Timestamp(@NonNull Date date)

Creates a new timestamp from the given date.

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.

Protected constructors

Timestamp

protected Timestamp(@NonNull Parcel in)

Public methods

compareTo

public int compareTo(@NonNull Timestamp other)

describeContents

public int describeContents()

equals

public boolean equals(Object other)

getNanoseconds

public int getNanoseconds()

Returns the sub-second part of the timestamp, in nanoseconds.

getSeconds

public long getSeconds()

Returns the seconds part of the timestamp.

hashCode

public int hashCode()

now

public static @NonNull Timestamp now()

Creates a new timestamp with the current date, with millisecond precision.

toDate

public @NonNull Date toDate()

Returns a new Date corresponding to this timestamp. This may lose precision.

toString

public String toString()

writeToParcel

public void writeToParcel(@NonNull Parcel dest, int flags)