在Python中,如何正确格式化日期?

时间:2018-01-23 15:21:09

标签: python date format

我试图从CSV文件转换日期时间,并将其解析为组件的日期和时间方面。 ' 11/06/2017 17:59'应该成为' 11/06 / 2017'和' 59'分别。

到目前为止,我得到的是:

Date = datetime.strptime(row['Date'],"$m/%d/%y %H:%M")
Date = datetime.strftime(oldDate, "%m/%d/%Y")
Time = datetime.strftime(oldDate, "%H:%M")

当我运行它虽然它错误地说" ValueError:时间数据' 11/06/2017 17:59'不符合格式' $ m /%d /%y%H:%M'"看起来它的格式相同。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

正确的格式是%m/%d/%Y %H:%M(注意,没有$Y大写以表示4位数的年份格式。

In [4]: datetime.strptime('11/06/2017 17:59',"%m/%d/%Y %H:%M")
Out[4]: datetime.datetime(2017, 11, 6, 17, 59)

有关各种合法日期时间格式的详细信息,请访问datetime documentation.

对于您的第二位,请使用dt.datedt.time来抓取各个组件。

In [5]: d.date()
Out[5]: datetime.date(2017, 11, 6)

In [6]: d.time()
Out[6]: datetime.time(17, 59)

对于人类可读的输出,您可以在结果之后调用str