Javascript 获取帖子上传后的时间(小时、分钟),并在我的网页中显示结果

Javascript 获取帖子上传后的时间(小时、分钟),并在我的网页中显示结果,javascript,html,time,Javascript,Html,Time,我的网页中有一小部分使用定义列表来显示我不定期发布的一些帖子,我认为使用Javascript在每篇帖子中添加时间功能将是一件好事 HTML <dl> <dt>Display the time here</dt> <dd></dd> <div id="centrated"> <p>Blank Space</p> </div> </dl> 在这里显示时间 空白处 时间

我的网页中有一小部分使用定义列表来显示我不定期发布的一些帖子,我认为使用Javascript在每篇帖子中添加时间功能将是一件好事

HTML

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

在这里显示时间
空白处


时间应该基于“用户”,而不是我的系统

我不知道你打算如何用你在这里描述的内容检索帖子的日期/时间。但是,javascript知道如何将UTC转换为浏览器的本地时间

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

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

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

也许您的意思是

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>

请参阅。

显然,发帖后的时间对于用户和系统来说是相同的,与发帖时不同。假设您将发布的系统时间存储在数据库中,因此要计算发布后的时间,您需要使用系统时间的比较。我想你应该更明确一点你的问题。我想我弄糊涂了我在这里的计划,当然时间是基于我的系统,因为它将是我的帖子。但我的意思是,如果用户位于不同的tz,它应该做一些计算,以确保它考虑到差异,+,-或其他任何东西。如果你想显示自发布后的时间,时间差异是不相关的。这是打字错误吗?你想显示时间本身,而不是时差?在这种情况下,按照@Tyanna的建议使用UTC是一个很好的解决方案。好的,我如何在列表中显示获得的时间?@JamesGaunt,你能回答吗?好的,但我可以使用date对象将日期省略吗?因为我只想要以小时和分钟为单位的时间。@Drucker~是的,你可以做一些工作:d.getHours()+“:”+d.getMinutes();是的,非常接近。那么,在UTCPostedTimes中,您到底计算了什么?我怎样才能在HTML中显示结果?你能帮我完全理解你的帖子吗?@Drucker
UTCPostedTimeInMs
是自Unix时代以来的毫秒数,最初发布时间为1970年1月1日00:00:00 GMT,这是计算机计算日期和时间的方式。您可以使用
(新日期).valueOf()
。在php中,您可以通过
time()*1000
来计算它(作为参数,而不是ms),这是非常值得赞赏的,它工作得非常完美。非常感谢你!快一点。它是否适用于使用同一ID的多个帖子,还是我必须更改某些内容?现在它只适用于一页中的一篇文章。。。当我向不止一个职位申请id时,它不会起作用。
document.getElementById('post001Time').textContent = (hrs % 24) + ' hours and ' + (mins % 60) + ' ago.';