【问题标题】:React: Converting mongoDB date to human readable dateReact:将 mongoDB 日期转换为人类可读的日期
【发布时间】:2021-10-26 11:50:27
【问题描述】:

存储在 MongoDB 中的文档具有“createdAt”属性,其中包含时间戳。这里我们有一个时间戳的例子:

createdAt: 2021-10-26T12:24:33.433+00:00

考虑到这个日期是今天,我怎样才能重现以下行为?:

  • 将此日期显示为“今天下午 12:24”
  • 明天,将此日期显示为“昨天下午 12:24”
  • 从后天及以后,显示为“26/10/2021 at 12:24 PM”

我尝试使用 JavaScript 的 Date 实例来比较两个字符串,但在尝试正确转换字符串时遇到了一些麻烦。我想知道是否有任何图书馆可以简化这个过程或一些传统的方法来做到这一点。

【问题讨论】:

  • 你可以使用moment.js库
  • day.js(类似但不那么重)库。它将为您执行字符串到日期处理
  • 最简单的方法是使用像date-fns 这样的第三方库并使用formatDistance 记录在here
  • 评论者:请用一个简单的例子sn-p添加答案

标签: javascript reactjs mongodb datetime


【解决方案1】:

既然你提到使用 React,我假设你有一个节点在某个地方运行。也许是create-react-app 后端?我也会假设 ESM。

您可以使用 date-fns 实现类似的效果;请参阅https://date-fns.org/v2.25.0/docs/formatDistance 的文档

$ npm i date-fns 首先安装依赖,然后像下面这样测试:

import formatDistance from 'date-fns/formatDistance'

function TestComponent() {
   const dateStr = "2021-10-26T12:24:33.433+00:00";
   const str = formatDistance(
       new Date(dateStr),
       new Date()
   );
   return <h1>{str}</h1>
}

【讨论】:

    猜你喜欢
    • 2018-05-10
    • 2021-02-19
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多