当前位置: 首页 > 知识库问答 >
问题:

时间的UTC与ISO格式

江正德
2023-03-14

我试图理解UTC和ISO格式之间的区别,以及在服务器之间传输消息时使用什么。所以当我尝试以下方法时,我得到的是

new Date().toISOString()
"2019-11-14T00:55:31.820Z"

new Date().toUTCString()
"Thu, 14 Nov 2019 00:55:16 GMT"

共有1个答案

谈灵均
2023-03-14
  • 始终使用ISO 8601格式:2019-11-14t00:55:31.820z
  • 避免使用RFC 1123和822的旧格式:Thu,2019年11月14日00:55:16 GMT

UTC和GMT不是格式。

UTC和GMT是两种稍微不同的跟踪时间的方式。这是一个复杂的话题,所以如果你真的想知道,请参阅维基百科页面了解血腥的细节。

    null

您的第二个示例字符串thu,14nov2019 00:55:16 GMT是在较早的标准RFC1123和RFC822中定义的。

这些都是遗留格式。它们很可怕,很难用机器解析。它们对人类有害,因为它们假设英语语言和特定的文化规范。

尽可能避免这种格式。只有在旧的协议和尚未为ISO 8601更新的系统需要时才使用此功能。

您可以看到这些计算是用在ideone.com上实时运行的Java代码(而不是问题上标记的JavaScript)进行的。

通常最好用UTC来完成大部分的思考、业务逻辑、数据存储、数据交换和日志记录。仅当业务规则需要时,以及向用户显示值时,才调整为时区。

 类似资料:
  • 我知道有人问过这个问题,但没有提供解决方案。Python UTC日期时间对象的ISO格式不包括Z(Zulu或零偏移) 我正在寻找一种在Python中用这种格式生成UTC时间戳的干净方法。我需要的格式是。 具体来说,我需要在最后加上“Z”。Python的不会在末尾附加Z。 请注意,手动添加“Z”不是我可以接受的解决方案。我正在寻找一个干净的方法来做到这一点。 以ISO格式生成带后缀的UTC时间戳的干

  • 问题内容: 为什么python 2.7不像JavaScript那样在UTC日期时间对象的isoformat字符串的末尾不包含Z字符(Zulu或零偏移)? 而在javascript中 问题答案: Python对象默认没有时区信息,没有它,Python实际上违反了ISO 8601规范(如果未提供时区信息,则假定为本地时间)。您可以使用pytz包获取一些默认时区,或者直接自己子类化: 然后,您可以将时区

  • 我正在将字符串类型的日期解析成日期格式,但每次都出现了这个异常 我的代码是:

  • 我正在寻找javascript/jquery库,它可以为我提供UI和功能来选择ISO 8601格式的持续时间。 用户界面应包含多个级联选择框,用户可以选择月,小时,天,周...在ISO_8601中定义。 选择后,库应将其转换为标准ISO_8601持续时间格式的代码,反之亦然。 例如,“P3Y6M4DT12H30M5S”表示持续时间为“三年六个月四天十二小时三十分五秒”。

  • 我需要在UTC时间生成一个UNIX时间戳,所以我使用来生成它。 我是否需要执行其他操作,或者时间戳是否自动采用 UTC?

  • 我正在寻找一种从“ISO 8601持续时间格式”(P0DT0H0M0S)转换为小时的便捷方法。 到目前为止,我想到了这个: 如您所见,我的方法是将数字拆分并乘以24、1、1/60、1/3600以得到小时。我可以减少代码量吗? 样本数据和所需结果 输入: 'P1DT2H3M44S' (1 天 2 小时 3 分 44 秒) 期望输出: 26.062222222222222 (这是小时)