将自定义字符串转换为datetime格式

时间:2016-10-14 10:52:20

标签: python date converter

我有一个日期时间数据字符串列表,如下所示:

"8/2/2016 9:20:32 AM"

我想将其转换为示例格式(对于第一项):

from datetime import datetime
for time in list:
    date = datetime.strptime(time, '%Y %m %d %I %R')

我试过了:

{{1}}

但是返回错误:

  

ValueError:' R'格式是一个糟糕的指令&%;%Y%m%d%I%R'

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

apply plugin: 'com.android.application'
    ...

    dependencies {
        compile 'com.google.android.gms:play-services:9.6.1'
    }

使用s = "2016-08-02T09:20:32.456Z" d = datetime.strptime(s, "%Y-%m-%dT%H:%M:%S.%fZ") https://docs.python.org/3.0/library/datetime.html#id1)。

答案 1 :(得分:1)

您的代码中有几个问题:

  • %R似乎不是correct directive(这是您的错误,我认为您正在寻找%p)。
  • strptime中的格式是输入的格式,而不是输出
  • 您使用listtime作为名称变量,这是不好的;]

因此,您可以先将时间转换为正确的日期时间对象:

>>> t='2016-08-02T09:20:32.456Z'
>>> d=datetime.strptime(t, "%Y-%m-%dT%H:%M:%S.%fZ")
>>> d
datetime.datetime(2016, 8, 2, 9, 20, 32, 456000)

然后将此对象转换为带有strftime

的字符串
>>> datetime.strftime(d, "%m/%d/%Y %I:%M:%S %p")
'08/02/2016 09:20:32 AM'