如何使用从服务器收到的秒数显示用户的“最后一次看到”时间

Posted

技术标签:

【中文标题】如何使用从服务器收到的秒数显示用户的“最后一次看到”时间【英文标题】:how to show user's “last seen at” time using the seconds received from the server 【发布时间】:2019-09-16 08:51:31 【问题描述】:

我想显示用户最后一次在线的时间,例如 whatsapp 使用 xmpp 和角度

我提出了一个 xmpp 请求,我得到了用户最后一次看到的时间,我想将其转换为时间

我得到了什么:

用户最后一次出现是在 903 秒前

我想要什么:

用户最后一次出现在晚上 11:30

服务器的上次活动响应¶

 <iq from='juliet@capulet.com'
  id='last1'
  to='romeo@montague.net/orchard'
  type='result'>
 <query xmlns='jabber:iq:last' seconds='903'>Heading Home</query>
 </iq>

【问题讨论】:

使用 moment.js 格式化时间 【参考方案1】:

如果您将从服务器接收到的秒值转换为变量,您可以像下面这样操作。

const timeInSeconds = getValueFromServer();
const lastLoggedInTime = new Date(Date.now() - timeInSeconds * 1000);

在您的 html 模板中,您可以使用 lastLoggedInTime 变量来显示日期。

【讨论】:

以上是关于如何使用从服务器收到的秒数显示用户的“最后一次看到”时间的主要内容,如果未能解决你的问题,请参考以下文章

如何从 gmtime() 的时间 + 日期输出中获取纪元以来的秒数?

如何从日期字符串中获取经过的秒数?

获取从日期到月底 PHP 的秒数

如何按预定义的秒数终止异步任务请求[重复]

从纪元到相对日期的秒数

强制 Excel 2007 默认显示时间数据中的秒数