我正在使用react.js构建一个社交网络应用程序,我正在使用moment.js来获取用户添加帖子时应该处于该行为的相对时间:几秒钟前、1分钟前、2分钟前等等开......但即使帖子是两天前创建的,它仍然显示几秒钟前
<span className="date">{moment(post.createdAt).fromNow()}</span>
`从“时刻”导入时刻;
导出 const addPost = (req, res) => { const token = req.cookies.accessToken;
if (!token) {
return res.status(401).json("Not logged in!");
}
jwt.verify(token, "secretkey", (err, userInfo) => {
if (err) {
return res.status(403).json("Token not valid");
}
const q = "INSERT INTO posts (`desc`, `img`, `createdAt`, `userId`) VALUES (?, ?, ?, ?)";
const values = [
req.body.desc,
req.body.img,
moment().format("YYYY-MM-DD HH:mm:ss"),
userInfo.id
];
db.query(q, values, (err, data) => {
if (err) {
return res.status(500).json(err);
}
return res.status(200).json("Post created");
});
});
}; `
尝试使用格式相对形式 date-fns https://date-fns.org/v2.30.0/docs/formatRelative 喜欢:
const result = formatRelative(post.createdAt, new Date());
检查您提供的所有日期是否来自过去的不同时间,例如
console.log(format(post.createdAt));