javascript - Unix 时间格式总是返回“50 年前”
问题描述
我正在使用黑客新闻 API。我想将 Unix 时间格式化为“35 分钟前,1 小时前”等。我正在使用javascript-time-ago库。价值永远是50 years ago
这是一个 API 响应:
{
"by" : "dhouston",
"descendants" : 71,
"id" : 8863,
"kids" : [ 8952, 9224, 8917, 8884, 8887, 8943, 8869, 8958, 9005, 9671, 8940, 9067, 8908, 9055, 8865, 8881, 8872, 8873, 8955, 10403, 8903, 8928, 9125, 8998, 8901, 8902, 8907, 8894, 8878, 8870, 8980, 8934, 8876 ],
"score" : 111,
"time" : 1175714200,
"title" : "My YC app: Dropbox - Throw away your USB drive",
"type" : "story",
"url" : "http://www.getdropbox.com/u/2/screencast.html"
}
这是我的组件:
// @Flow
import React from 'react';
import TimeAgo from 'javascript-time-ago'
import en from 'javascript-time-ago/locale/en'
....other imports ....
type PropsT = {
id: number,
by: string,
kids: Array<number>,
score: number,
url: string,
title: string,
time: number | Date
}
const ListItem = (props: PropsT) => {
const {by, kids = [], score, url, title, id, time} = props;
const site = getSiteHostname(url) || 'news.ycombinator.com';
const link = getArticleLink({url, id});
const commentUrl = `${ITEM}${id}`;
const userUrl = `${USER}${by}`;
TimeAgo.addLocale(en)
const timeAgo = new TimeAgo('en-US');
const formatedDate = timeAgo.format(time)
return (
<Item>
<TitleLink href={link} target="_blank">
{title}<Host>({site})</Host>
</TitleLink>
<Description>
{score} points by
<Link href={userUrl} target="_blank">
{by}
</Link>
{formatedDate} ago
{ ' | '}
<Link href={commentUrl} target="_blank">
{kids.length} comments
</Link>
</Description>
</Item>
);
}
export default ListItem;
结果始终是50 年前的 如何进行正确的格式化?
解决方案
我实际上需要乘以time
1000。这解决了问题:
const formatedDate = timeAgo.format(time * 1000)
推荐阅读
- python - KivyLauncher:手机屏幕上的错误图像
- sql - 如何从单个列上带有附加 where 子句的表中进行选择
- .net - 由于 system.net.http 缺少参考的问题,无法使用 Microsoft Graph 3.2.0 运行 C# 应用程序
- sonarqube - 分析成功后如何在单独的调用中将 JaCoCo 报告上传到 SonarQube?
- makefile - CalculiX 安装错误 etime (在函数 `second_':)
- css - 是否可以在 CSS 中设置子字符串的样式?
- python - 如何在 Flask admin 中的 GUI/请求中更改输入数据,然后再转换为表单?如果编辑/创建模型
- php - 第 60 行 /bootstrap/start.php 中的 Laravel 错误 \Illuminate\Foundation\start.php 没有这样的文件
- javascript - AWS Lambda 和 DynamoDB 上的 Node.js
- youtube - 有没有办法邀请用户使用 API 管理 Youtube?