Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I convert a Firestore date/Timestamp to a JS Date()?

People also ask

How do I turn a timestamp into a date?

You can convert the Unix timestamp to a date string by following these three steps: Convert the unix timestamp into milliseconds by multiplying it by 1000. Use the newly created milliseconds value to create a date object with the new Date() constructor method.

What format is firestore timestamp?

firestore. Timestamp. 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.

What is a JavaScript timestamp?

const currentDate = new Date(); const timestamp = currentDate. getTime(); In JavaScript, a time stamp is the number of milliseconds that have passed since January 1, 1970. If you don't intend to support <IE8, you can use Date.


The constructor for a JavaScript Date doesn't know anything about Firestore Timestamp objects - it doesn't know what to do with them.

If you want to convert a Timestamp to a Date, use the toDate() method on the Timestamp.


You can use toDate() function along with toDateString() to display the date part alone.

const date = dateCreated.toDate().toDateString()
//Example: Friday Nov 27 2017

Suppose you want only the time part then use the toLocaleTimeString()

const time = dateCreated.toDate().toLocaleTimeString('en-US')
//Example: 01:10:18 AM, the locale part 'en-US' is optional

Please use toDate() method and then convert it into the format using angular pipe like this -

   {{ row.orderDate.toDate() | date: 'dd MMM hh:mm' }}

You can use Timestamp.fromDate and .toDate for converting back and forth.

// Date to Timestamp
const t = firebase.firestore.Timestamp.fromDate(new Date());

// Timestamp to Date
const d = t.toDate();

How to convert Unix timestamp to JavaScript Date object.

var myDate = a.record.dateCreated;
new Date(myDate._seconds * 1000); // access the '_seconds' attribute within the timestamp object

const timeStampDate = record.createdAt;
const dateInMillis  = timeStampDate._seconds * 1000

var date = new Date(dateInMillis).toDateString() + ' at ' + new Date(dateInMillis).toLocaleTimeString()

OutPut Example: Sat 11 Jul 2020 at 21:21:10