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

将字符串转换为datetime对象

  •  10
  • minou  · 技术社区  · 14 年前

    Wed Oct 20 16:35:44 +0000 2010
    

    有什么简单的方法可以做到这一点吗?或者我必须写一个重新解析元素,将Oct转换成10等等?

    strtime很棒。但是

    datetime.strptime(date_str, "%a %b %d %H:%M:%S %z %Y")
    

    ValueError: 'z' is a bad directive in format '%a %b %d %H:%M:%S %z %Y'
    

    即使%z看起来是正确的。

    编辑2: %z标记似乎不受支持。见 http://bugs.python.org/issue6641 .

    5 回复  |  直到 14 年前
        1
  •  2
  •   nmichaels    14 年前

    根据字符串的来源,您可以使用 datetime.strptime 去分析它。唯一的问题是strtime依赖于一些特定于平台的东西,所以如果字符串需要能够来自任意的其他系统,并且所有的天和月的定义都不完全相同(六月或六月),那么您可能会遇到麻烦。

        2
  •  28
  •   eumiro    14 年前

    不用了。试试这个:

    from dateutil import parser
    
    yourDate = parser.parse(yourString)  
    

    “2010年10月20日星期三16:35:44+0000”返回 datetime.datetime(2010, 10, 20, 16, 35, 44, tzinfo=tzutc())

        4
  •  2
  •   jlv    14 年前

    我很确定你可以用datetime.strtime来完成。

    从文档中:

    datetime.strptime(日期字符串,格式)

    返回与 日期字符串,根据 格式。这相当于 日期时间(*(time.strptime(日期字符串, 格式)[0:6])。引发ValueError 如果日期字符串和格式不能为 按time.strTime()或 返回一个不是时间的值

        5
  •  1
  •   cwallenpoole    14 年前