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 @NonNull Parcelable.Creator<@NonNull Timestamp>
final int
final long

Public constructors

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

Creates a new Timestamp.

Public methods

int
int
boolean
equals(Object other)
int
static final @NonNull Timestamp
now()
final @NonNull Date

Returns a new Date corresponding to this timestamp.

final @NonNull Instant
@RequiresApi(value = 26)
toInstant()

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

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

Public fields

CREATOR

public static final @NonNull Parcelable.Creator<@NonNull TimestampCREATOR

nanoseconds

public final int nanoseconds

seconds

public final long seconds

Public constructors

Timestamp

public Timestamp(@NonNull Date date)

Timestamp

@RequiresApi(value = 26)
public Timestamp(@NonNull Instant 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(@NonNull Timestamp other)

describeContents

public int describeContents()

equals

public boolean equals(Object other)

hashCode

public int hashCode()

now

public static final @NonNull Timestamp now()

toDate

public final @NonNull Date toDate()

Returns a new Date corresponding to this timestamp.

This may lose precision.

toInstant

@RequiresApi(value = 26)
public final @NonNull Instant toInstant()

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

toString

public @NonNull String toString()

writeToParcel

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