0

嗨,我想将时间戳自动转换为类似的东西:

X 分钟前 X 小时前 X 个月前

但我不知道之后该怎么做:

function getTimeAgo(timestamp){
 var a = new Date(timestamp*1000);
 ..
}

我是 javascript 新手,有没有人已经编写过这种函数?

谢谢

4

2 回答 2

1

You could use moment.js, the time format you want is found under humanize

example taken from the docs (not tested):

var a = new Date(timestamp*1000).getMilliseconds();
moment.duration(a, "minutes").humanize(true); // will output "n minute ago"

Update

as requested in the comments, here some examples in a working fiddle

Hope it helps

于 2013-05-18T13:19:50.437 回答
1

TimeAgo.js

什么?

Timeago 是一个 jQuery 插件,可以轻松支持自动更新模糊时间戳(例如“4 分钟前”或“大约 1 天前”)。下载、查看示例并尽情享受。

您在不到一分钟前打开了此页面。(这将每分钟更新一次。等待它。)

该页面最后一次修改是大约一个月前。

瑞安出生于 34 年前。

用法:

jQuery.timeago(new Date());             //=> "less than a minute ago"
jQuery.timeago("2008-07-17");           //=> "5 years ago"
jQuery.timeago(jQuery("abbr#some_id")); //=> "5 years ago"     // [title="2008-07-20"]
于 2013-05-18T13:31:40.480 回答