【问题标题】:how to interpret this timestamp?如何解释这个时间戳?
【发布时间】:2011-07-21 20:48:54
【问题描述】:

假设这是时间戳:2011-07-06T00:00:35.851-07:00

这告诉我什么?这就是我试图理解它的方式:

2011-07-06 - date
00:00:35   - hh:mm:ss
851        - micro seconds??
07:00      - what does that tell me?

如果可能,我需要使用 C 将其转换为 UTC。

编辑 0:感谢 @RichieHindle 和 @Marc B 的回复。我现在了解 GMT 偏移量。 我现在的问题是,我没有从 getdate 中得到正确的值。

【问题讨论】:

  • 你住在太平洋夏令时间吗?这就是 -07:00 对应的内容。
  • 是的,我确实住在 PDT,这意味着什么?
  • 它是-07:00,这意味着您比 UTC 晚 7 小时。请阅读我在上面第一条评论中发布的链接。
  • @Alok:谢谢,我想,我现在很好。

标签: c unix timestamp utc


【解决方案1】:

它表示现在是 2011 年 7 月 6 日,午夜过后 35.851 秒,在 GMT-7 时区。要转换为 UTC(GMT-0 时区),您需要添加 7 小时(-7 + 7 = 0),使其变为 2011-07-06T07:00:35.851-00:00

【讨论】:

    【解决方案2】:

    851 是毫秒(千分之一秒),-07:00 是时区(UTC 减去 7 小时)。

    【讨论】:

    • 感谢 Richie 和 @Marc B:我正在尝试解析并以这种方式将其转换为 UTC:1)获取 2011-07-06T07:00:35(我不关心 851)2 ) 在其上应用 gettime() 3) 将 07:00 添加到 2) 的结果中。 --- 这是正确的做法吗?
    • Richie 和@Marc B:不知何故,使用getdate 转换2011-07-06T00:00:35 得到Tue Jul 5 10:00:35 2011——我不明白为什么。
    • 2011-07-15T17:50:24 => Fri Jul 15 03:50:24 20112011-07-15T18:00:00 => Fri Jul 15 04:00:00 2011 的方式相同——我无法理解这种行为。
    • @hari:看起来-7:00 被计算了两次——这可能吗?您可能喜欢使用strptime 而不是getdate,因为它可以让您指定日期的格式。这样你就能获得更多的控制权。如果这些都没有帮助,我建议打开一个新问题并包含您的源代码。
    猜你喜欢
    • 1970-01-01
    • 2016-02-16
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多