【问题标题】:What is the time format used in KML files?KML 文件中使用的时间格式是什么?
【发布时间】:2011-12-29 20:34:17
【问题描述】:

我在 iPhone 上解析一个 KML 文件,我需要知道 KML 文件中这个字符串的时间格式是什么:2011-05-16T08:00:59Z

我认为它类似于以下内容,但我不知道Z 代表什么:YYYY-MM-ddTHH:mm:ss

提前致谢。

XcodeDev

【问题讨论】:

    标签: objective-c xml timestamp kml time-format


    【解决方案1】:

    这是ISO 8601Z 代表 Zulu time,也称为 UTC 或 GMT,即 +0 时区。

    【讨论】:

    • 谢谢,但是我用什么字母,Z?我尝试了以下方法,但它不起作用 - YYYY-MM-DDThh:mm:ssZ.
    • 如果时间的时区是 UTC,@XcodeDev Z 是正确的字母。如果不是UTC,最简单的方法就是计算等效的UTC时间。或者,您can add the timeuone offset。你能澄清It doesn't work吗?你的程序目前输出了什么,你是如何检测到它不起作用的?
    【解决方案2】:

    我在 Python 中使用它来将 Django 对象转换为 KML TimeStamp(请注意 TimeStamp 中的大写 S - 这让我很困惑):

    from datetime import datetime
    from pytz import timezone
    
    # Access the Date Time of the created object
    dtg = str(loc.created_at)
    
    # Import the Django timestamp (which includes miliseconds)
    datetime_obj = datetime.strptime(dtg, "%Y-%m-%d %H:%M:%S.%f+00:00")
    # Convert it to UTC Format
    datetime_obj_utc = datetime_obj.replace(tzinfo=timezone('UTC'))
    
    # Convert it to Zulu time
    date_time = datetime_obj_utc.strftime('%Y-%m-%dT%H:%M:%SZ')
    
    # Build the KML output
    output += '  <Placemark><name>Feature</name>\n'
    output += '      <TimeStamp><when>'+date_time+'</when></TimeStamp>\n'
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-14
      • 2010-12-27
      • 2020-09-14
      • 2019-12-20
      • 2017-04-28
      • 2018-11-27
      • 1970-01-01
      相关资源
      最近更新 更多