最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

日期时区转换socket.io

IT培训 admin 2浏览 0评论

日期时区转换socket.io

我在写如何使用Node.js和socket.io一个聊天程序。当用户发送消息时,我想在它们发送它要发射的时间。相反,日期数据,谁送的人的时区是的,不过,我想它转换成相应的recievers的时区。将JavaScript的照顾这个自动,或者是它的东西,我需要解决?

socket.emit('chat', {
    message: 'message',
    date: new Date()
}
回答如下:

你可以简单地从Date发送UTC值回您的服务器并备份到另一个客户端。即使他们有不同的时区,本地客户端会显示Date当从UTC值,该时区转换。

重要的是,日期作为UTC,而不是在本地时间区域。

  • 这可以是一个整数(这将是因为1/1/1970 UTC毫秒),从.getTime()获得。所有浏览器都支持这一点,但它不是一个非常人性化的可读格式。
  • 它也可以是在UTC ISO8601 / RFC3339格式,如2013-06-26T15:40:00Z一个字符串,其可以通过.toISOString()获得。

你不能做的仅仅是直接传递Date对象,因为您在样本中显示。 Socket.io只会调用.toString()就可以了。这最终会发送一个人类可读的RFC822格式的字符串与本地时区 - 而不是你想要的UTC值。

日期时区转换socket.io

我在写如何使用Node.js和socket.io一个聊天程序。当用户发送消息时,我想在它们发送它要发射的时间。相反,日期数据,谁送的人的时区是的,不过,我想它转换成相应的recievers的时区。将JavaScript的照顾这个自动,或者是它的东西,我需要解决?

socket.emit('chat', {
    message: 'message',
    date: new Date()
}
回答如下:

你可以简单地从Date发送UTC值回您的服务器并备份到另一个客户端。即使他们有不同的时区,本地客户端会显示Date当从UTC值,该时区转换。

重要的是,日期作为UTC,而不是在本地时间区域。

  • 这可以是一个整数(这将是因为1/1/1970 UTC毫秒),从.getTime()获得。所有浏览器都支持这一点,但它不是一个非常人性化的可读格式。
  • 它也可以是在UTC ISO8601 / RFC3339格式,如2013-06-26T15:40:00Z一个字符串,其可以通过.toISOString()获得。

你不能做的仅仅是直接传递Date对象,因为您在样本中显示。 Socket.io只会调用.toString()就可以了。这最终会发送一个人类可读的RFC822格式的字符串与本地时区 - 而不是你想要的UTC值。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论