获取自上传帖子以来的时间(小时,分钟),并将结果显示在我的网页中

时间:2012-10-13 21:49:22

标签: javascript html time

我的网页中有一小部分使用定义列表来显示我不定期发布的一些帖子,我认为使用Javascript为每个帖子添加时间功能会很不错。

HTML

<dl>    
<dt>Display the time here</dt>
<dd></dd>
<div id="centrated">
<p>Blank Space</p>
</div>
</dl>

时间应该基于'用户'而不是我的系统。

2 个答案:

答案 0 :(得分:0)

我不确定您是如何计划使用此处描述的内容检索帖子的日期/时间。但是,javascript知道如何从UTC转换为浏览器的本地时间。

因此,如果您从字符串创建新日期:

var d = new Date("2012-10-13T09:40:34.764Z");
alert(d);

它应该在当地时间为您显示。日期结束时的'Z'表示它是UTC时间。如果您定义日期,Javasript知道如何使用它。只需确保以UTC时间保存日期。

答案 1 :(得分:0)

也许你的意思是

var UTCPostedTimeInMs = 1350050604350;
var timeSince = (new Date) - UTCPostedTimeInMs,
    secs = ~~(timeSince / 1000),
    mins = ~~(secs / 60),
    hrs = ~~(mins / 60),
    days = ~~(hrs / 24);

console.log('It has been', days, 'days', hrs % 24, 'hours', mins % 60, 'mins and', secs % 60, 'seconds since', new Date(UTCPostedTimeInMs));
// It has been 1 days 8 hours 6 mins and 12 seconds since Fri Oct 12 2012 15:03:24 GMT+0100 (BST)

修改
要以HTML格式显示,请将要附加的元素添加到 id 属性

<dt id="post001Time">Display the time here</dt>

然后在JavaScript中,但是你希望它被格式化,例如

document.getElementById('post001Time').textContent = (hrs % 24) + ' hours and ' + (mins % 60) + ' ago.';

请参阅this fiddle