javascript 我应该以什么日期格式存储在Firestore中以创建每月的动态报告?

doinxwow  于 2023-02-21  发布在  Java
关注(0)|答案(1)|浏览(97)

我有一个项目来存储用户的疫苗接种状态,如他们的第一剂和第二剂。我想为每种疫苗创建一个动态图形报告。我计划每月和每年创建一个动态报告,我的数据库是一个Firestore。
类似于这种图形:

因为我将存储用户第一次和第二次服药的日期,所以应该以什么样的日期格式来存储它,以确保动态报告。

efzxgjgh

efzxgjgh1#

ISO字符串既可读又可排序:

const date = new Date();
date.toISOString();
// => "2021-08-14T08:01:29.134Z"

如果您不需要可读性,历元时间可能更适合DB磁盘空间:

const date = new Date();
date.getTime();
// => 1628928089134
// OR
Date.now();
// => 1628928089134

在这两种情况下,您都可以使用返回值重新创建日期对象,并获取月份和年份以用于筛选和分析。

const recreatedDate = new Date("2021-08-14T08:01:29.134Z");
// alternatively:
// const recreatedDate = new Date(1628928089134);

// January is month number 0
console.log(recreatedDate.getMonth() + 1);
// => 8

console.log(recreatedDate.getFullYear());
// => 2021

相关问题