我正面临一个UI问题,并希望显示时间戳距离到3 hours ago
和4 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