日期-fns格式距离不正确



我正面临一个UI问题,并希望显示时间戳距离到3 hours ago4 hours ago等。来自服务器的时间戳,其属性名为createdAt,具有以下值。

createdAt: "2021-10-27T05:24:37.642Z"

为了解决这个问题,我使用了类似date-fns v2.25.0的内置函数formatDistance.

import { formatDistance} from 'date-fns';
const timestamp = createdAt ? new Date(createdAt) : '';
console.log(formatDistance(Date.now(), timestamp, {addSuffix: true}));

但是在后面的单词

中它给出了距离
in about 3 hours
in about 4 hours

不是

3 hours ago
4 hours ago

我做错了什么?如果你知道其他好的库,请分享。

反转参数:

console.log(formatDistance(timestamp, Date.now(), {addSuffix: true}));

您可以使用任何其他流行的包,例如moment,我相信它有更多的自定义配置,但是如果您想使用这个包,而不是必须更改formatDistance函数,更改结果字符串会更容易,如:

import { formatDistance } from "date-fns";
const createdAt = "2020-08-27T08:24:37.642Z";
const timestamp = createdAt ? new Date(createdAt) : "";
const distance = formatDistance(Date.now(), timestamp, {addSuffix: true });
console.log(distance.substring(distance.indexOf(distance.match(/d+/g))));
// => 2 hours ago

相关内容

  • 没有找到相关文章

最新更新