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