A day starts at 00:00:00 A day ends at 23:59:59.99
- "YYYY-MM-DDTHH:mm:sss.sssZ"
- Z means the date is in UTC
new Date('2019-06-11')
=> Creates date in UTCnew Date('2019-06-11T00:00')
=> Creates date in local time zone
new Date(2019, 5, 11, 5, 23, 59)
=> Creates date in local time zonenew Date(2019, 5, 11, 5, 23, 59)
=> Creates date in local time zonenew Date(Date.UTC(2019, 5, 11))
=> Creates a date in UTC
- Timestamp is milliseconds elapsed since Unix Epoch time
- Unix Epoch time = January 1 1970
new Date(1560211200000)
=> ???
new Date()
=> Creates a date in local time
const todayUTC = dateToUTC(new Date());
// todayUTC 2022-03-16T00:00:00.000Z
const daysAgo = new Date(todayUTC);
// daysAgo 2022-03-16T00:00:00.000Z
daysAgo.setDate(todayUTC.getDate() - x);
// daysAgo 2 2021-04-09T23:00:00.000Z
daysAgo.setHours(0, 0, 0, 0);
// daysAgo 3 2021-04-09T23:00:00.000Z
const dateToUTC = (date: Date) => {
return new Date(Date.UTC(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate()
));
}