繁体   English   中英

尝试从 Firestore 时间戳创建人类可读的日期/时间

[英]trying to create a human readable date / time from a firestore timestamp

致力于将 Firestore 时间戳转换为人们真正想要查看的内容。 我正在尝试使用 luxon npm package 这样做。

日期在 JSON 字符串中到达我的前端,时间戳格式使用 timestamp.toDate() 方法转换为 javascript 日期 object。

created: JSON.stringify(data.created.toDate()),

如果我在前端使用 JSON.parse() 解析这个,我会留下以下字符串:

2022-08-17T01:29:41.985Z

我想使用 Luxon 将此字符串格式化为 08/17/22 1:29am 之类的内容,然后最终使该值可在表格中排序..

让我知道您是否需要查看其他内容

谢谢


下面的代码是我在从 getserversideprops function 返回 object 之前传递每个 Firestore 文档的代码。 我想在这个 function 中进行 luxon 格式化吗? 还是我想保留字符串化位并重新格式化前端的代码?

export function postToJSON(doc: any) {
  try {
    const data = doc.data();
    return {
      ...data,
      pickDate: JSON.stringify(data.pickDate.toDate()),
      dropDate: JSON.stringify(data.dropDate.toDate()), // old
      created: data.created.toDate(), // new?
    };
  } catch (error) {
    console.error(error);
  }
}

在 Firestore 时间戳上调用toDate()后,您会得到一个常规的 JavaScript Date object。 因此,如果您删除JSON.stringify(...)调用,则用于格式化日期的所有Luxon功能都应该起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM