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.
Package
@google-cloud/firestoreConstructors
(constructor)(seconds, nanoseconds)
constructor(seconds: number, nanoseconds: number);
Creates a new timestamp.
Parameters | |
---|---|
Name | Description |
seconds |
number
The number of 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. |
nanoseconds |
number
The 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. |
let documentRef = firestore.doc('col/doc');
documentRef.set({ startTime:new Firestore.Timestamp(42, 0) });
Properties
nanoseconds
get nanoseconds(): number;
The non-negative fractions of a second at nanosecond resolution.
let documentRef = firestore.doc('col/doc');
documentRef.get().then(snap => {
let updated = snap.updateTime;
console.log(`Updated at ${updated.seconds}s ${updated.nanoseconds}ns`);
});
{number}
seconds
get seconds(): number;
The number of seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z.
let documentRef = firestore.doc('col/doc');
documentRef.get().then(snap => {
let updated = snap.updateTime;
console.log(`Updated at ${updated.seconds}s ${updated.nanoseconds}ns`);
});
{number}
Methods
fromDate(date)
static fromDate(date: Date): Timestamp;
Creates a new timestamp from the given date.
Parameter | |
---|---|
Name | Description |
date |
Date
The date to initialize the |
Returns | |
---|---|
Type | Description |
Timestamp |
let documentRef = firestore.doc('col/doc');
let date = Date.parse('01 Jan 2000 00:00:00 GMT');
documentRef.set({ startTime:Firestore.Timestamp.fromDate(date) });
fromMillis(milliseconds)
static fromMillis(milliseconds: number): Timestamp;
Creates a new timestamp from the given number of milliseconds.
Parameter | |
---|---|
Name | Description |
milliseconds |
number
Number of milliseconds since Unix epoch 1970-01-01T00:00:00Z. {Timestamp} A new |
Returns | |
---|---|
Type | Description |
Timestamp |
let documentRef = firestore.doc('col/doc');
documentRef.set({ startTime:Firestore.Timestamp.fromMillis(42) });
isEqual(other)
isEqual(other: firestore.Timestamp): boolean;
Returns 'true' if this Timestamp
is equal to the provided one.
Parameter | |
---|---|
Name | Description |
other |
firestore.Timestamp
The |
Returns | |
---|---|
Type | Description |
boolean |
let documentRef = firestore.doc('col/doc');
documentRef.get().then(snap => {
if (snap.createTime.isEqual(snap.updateTime)) {
console.log('Document is in its initial state.');
}
});
now()
static now(): Timestamp;
Creates a new timestamp with the current date, with millisecond precision.
Returns | |
---|---|
Type | Description |
Timestamp |
let documentRef = firestore.doc('col/doc');
documentRef.set({ updateTime:Firestore.Timestamp.now() });
{Timestamp} A new Timestamp
representing the current date.
toDate()
toDate(): Date;
Returns a new Date
corresponding to this timestamp. This may lose precision.
Returns | |
---|---|
Type | Description |
Date |
let documentRef = firestore.doc('col/doc');
documentRef.get().then(snap => {
console.log(`Document updated at: ${snap.updateTime.toDate()}`);
});
{Date} JavaScript Date
object representing the same point in time as this Timestamp
, with millisecond precision.
toMillis()
toMillis(): number;
Returns the number of milliseconds since Unix epoch 1970-01-01T00:00:00Z.
Returns | |
---|---|
Type | Description |
number |
let documentRef = firestore.doc('col/doc');
documentRef.get().then(snap => {
let startTime = snap.get('startTime');
let endTime = snap.get('endTime');
console.log(`Duration: ${endTime - startTime}`);
});
{number} The point in time corresponding to this timestamp, represented as the number of milliseconds since Unix epoch 1970-01-01T00:00:00Z.
valueOf()
valueOf(): string;
Converts this object to a primitive string
, which allows Timestamp
objects to be compared using the >
, <=
, >=
and >
operators.
{string} a string encoding of this object.
Returns | |
---|---|
Type | Description |
string |