如何在反应中将时间戳转换为时间之前格式?

Abd*_*hgr 1 javascript

假设我有一个这种格式的创建时间:(2021-06-30 15:36:50.375+03),并且我想将其转换为时间前格式,例如 5 分钟前或 2 小时前,那么我该怎么做在 JavaScript 中(反应)?

Kei*_*DOG 8

自己做会需要大量的代码,不断的修复和改进。您可以使用其他编码器的代码片段,或者更好的是您可以使用一些 JS(React/Node/等)npm 包,例如moment https://www.npmjs.com/package/moment。moment的优点是维护良好,质量高,很受欢迎,每周下载量16M,Github有45.8K star。

例如,moment 使用以下方法fromNow()

import moment from 'moment';

// other codes

const timeago = moment(data.created_at).fromNow();
Run Code Online (Sandbox Code Playgroud)

编辑:(2个包很轻)----

如果您仅使用fromNowMoment 包的功能,该功能很重并且树摇动不起作用,并且需要更轻的页面大小来提高 sep 性能,您可能想使用另一个非常轻的包,例如::https react-timeago/ /www.npmjs.com/package/react-timeagotimeago-react: https: //www.npmjs.com/package/timeago-react都比momentpackage 轻得多。

react-timeago支持每秒、30 秒、60 秒或任何其他指定周期自动更新。它的代码如下:

import TimeAgo from 'react-timeago';

// auto-updated each 60 seconds
return (
  <TimeAgo
    date={comment.created_at}
    component={Text}
    minPeriod={60}
    style={styles.timeAgo}
  />
);
Run Code Online (Sandbox Code Playgroud)

react-timeago现在正在使用。更轻timeago-react,但我还没有测试过。