-1

我想解析来自 blockchain.info API 的 JSON 响应的时间戳。

这是一个示例片段https://blockchain.info/api/api_websocket

所以如果我们看

"time": 1331300839,

我尝试做类似的事情

var test = new Date(1331300839);
test.getFullYear();

我的结果大约是 1970 年。我尝试使用 Date 对象来解析最近的比特币交易.. 说https://blockchain.info/rawaddr/1Hy8LSovPiT3Z4qF7Hr2piJXZFHzpSBaEK我仍然得到 1970 年。

那么如何从这些时间戳中获得人类可读的输出呢?

谢谢。

4

2 回答 2

2

如果你想格式化日期和时间,可能是你能找到的最好的轻量级库 moment.js

var parsed = moment.unix(1331300839)

现在要格式化这个时刻实例,只需使用此列表中您想要的格式:http: //momentjs.com/docs/#/displaying/ 或使用非常简单但功能强大的 moment.toString() 或 moment.fromNow()

parsed.toString()
// "Fri Mar 09 2012 14:47:19 GMT+0100"

parsed.fromNow()
// "2 years ago"
于 2014-08-17T20:53:13.303 回答
2

根据 Date 的文档,日期以毫秒而不是秒为单位定义,因此您需要将时间戳乘以 1000。

运行以下命令会生成带有文本“2012”的警报。

var test = new Date(1331300839*1000);
alert(test.getFullYear());

和 Adrian 一样,如果您想花时间将时间戳转换为人类可读的字符串,我也会推荐Moment.js 。

于 2014-08-17T20:48:34.353 回答