Class Timestamp (7.4.0)

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/firestore

Constructors

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

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

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` 
 ); 
 }); 
 

{number}

seconds

  get 
  
 seconds 
 () 
 : 
  
 number 
 ; 
 

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` 
 ); 
 }); 
 

{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 Timestamp from. {Timestamp} A new Timestamp representing the same point in time as the given date.

Returns
Type
Description
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 
 ) 
  
 }); 
 

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 Timestamp representing the same point in time as the given number of milliseconds.

Returns
Type
Description
Example
  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 Timestamp to compare against. {boolean} 'true' if this Timestamp is equal to the provided one.

Returns
Type
Description
boolean
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.' 
 ); 
  
 } 
 }); 
 

now()

  static 
  
 now 
 () 
 : 
  
 Timestamp 
 ; 
 

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

Returns
Type
Description
Example
  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
Example
  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
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 
 } 
 ` 
 ); 
 }); 
 

{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
Design a Mobile Site
View Site in Mobile | Classic
Share by: