【问题标题】:How can i make a timecount from an epoch specific time? jQuery or JS如何从特定时代的时间计算时间? jQuery 或 JS
【发布时间】:2014-06-16 03:12:58
【问题描述】:
我通过 json 获取时间,像这样
"timeAddedToDrive": 1398813844020
我想知道我是否可以创建一个从那时开始计数的 jQuery 或 JS,这样用户就可以看到事件发生后经过了多少时间,例如
event was 48:05 minutes ago...
这可能吗?
PD:为我的英语道歉,我知道它很糟糕
【问题讨论】:
标签:
javascript
jquery
html
timer
epoch
【解决方案1】:
我建议你使用库moment.js。
您可以使用此库将日期值从各种存储格式转换为其他格式,包括您正在寻找的人类可读的描述。
函数.fromNow() 与您要查找的内容接近,但可能不够精确。稍加努力,您可以使用moment.js 确定时间戳相对于现在的diff,将其转换为duration,然后从持续时间中获取分钟和秒。
var timeAddedToDrive = 1398813844020;
var now = moment();
var timePassed = now.diff(timeAddedToDrive);
// fromNow function works but is not precise
alert( moment(timeAddedToDrive).fromNow());
// for more precision we'll get the minutes and seconds from the DURATION
var seconds = moment.duration(timePassed).seconds();
var minutes = moment.duration(timePassed).minutes();
var output = "event was " +
minutes.toString() + ":" +
seconds.toString() + " minutes ago"
alert( output );
这是一个展示这两种方法的 jsFiddle:jsFiddle
希望对您有所帮助。