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.
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.
Name | Description |
date | Date
The date to initialize the |
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.
Name | Description |
milliseconds | number
Number of milliseconds since Unix epoch 1970-01-01T00:00:00Z. {Timestamp} A new |
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.
Name | Description |
other | firestore.Timestamp
The |
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.
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.
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.
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.
Type | Description |
---|---|
string |