代码之家  ›  专栏  ›  技术社区  ›  fuentesjr

如何将python中的yyyy-mm-ddthh:mm:ss.000z时间格式转换为mm/dd/yyyy时间格式?

  •  26
  • fuentesjr  · 技术社区  · 16 年前

    例如,我试图将2008-09-26t01:51:42.000z转换为2008年9月26日。最简单的方法是什么?

    5 回复  |  直到 6 年前
        1
  •  32
  •   Jeremy Cantrell    6 年前

    最简单的方法是使用 dateutil .parser.parse()将日期字符串解析为一个时区感知的日期时间对象,然后使用strftime()获取所需的格式。

    import dateutil.parser
    
    d = dateutil.parser.parse('2008-09-26T01:51:42.000Z')
    print(d.strftime('%m/%d/%Y'))  #==> '09/26/2008'
    
        2
  •  16
  •   mhoang    8 年前

    我知道这是一个很古老的问题,但您可以使用python datetime.strptime()来解决它。

    >>> from datetime import datetime
    >>> date_format = "%Y-%m-%dT%H:%M:%S.%fZ" 
    >>> datetime.strptime('2008-09-26T01:51:42.000Z', date_format)
    datetime.datetime(2008, 9, 26, 1, 51, 42)
    
        3
  •  15
  •   Greg Hewgill    16 年前
    >>> import time
    >>> timestamp = "2008-09-26T01:51:42.000Z"
    >>> ts = time.strptime(timestamp[:19], "%Y-%m-%dT%H:%M:%S")
    >>> time.strftime("%m/%d/%Y", ts)
    '09/26/2008'
    

    参见python的文档 time 模块了解更多信息。

        4
  •  3
  •   olt    16 年前

    2008-09-26T01:51:42.000Z 是一个ISO8601日期和格式可以非常多样化。如果您想解析这些日期,请访问python wiki working with time . 它包含一些到模块的有用链接。

        5
  •  -1
  •   Dhaval dave    14 年前
    def datechange(datestr):
    dateobj=datestr.split('-')
    y=dateobj[0]
    m=dateobj[1]
    d=dateobj[2]
    datestr=d +'-'+ m +'-'+y
    return datestr
    

    你可以做一个这样的函数,它获取日期对象,并以所需的日期格式返回日期。