将日期字符串转换为日期时间日期,但在Python

时间:2016-11-03 00:22:48

标签: python date datetime

我正在尝试将日期字符串m / d / YYYY转换为datetime.date对象。我尝试了以下代码,但得到了一个例外。有没有更简单的方法?

我收到从字符串到日期时间日期转换的格式错误

df_fx = pd.read_csv('data/USDCAD.FXCM_D.txt',delim_whitespace=True, names = ["Date", "Open", "High", "Low", "Close", "Vol"])

格式为#%d /%m /%y需要转换为DateTime.Date对象类型

strDate = str(df_fx.Date)  #%d/%m/%y https://docs.python.org/2/library/datetime.html
r.date = datetime.datetime.strptime(strDate, '%m/%d/%y').date() #stackoverflow.com/questions/466345/converting-string-into-datetime
#note error solution http://stackoverflow.com/questions/12070193/why-is-datetime-strptime-not-working-in-this-simple-example

注意最后一行产生例外:

r.date = datetime.datetime.strptime(strDate, '%m/%d/%y').date() #stackoverflow.com/questions/466345/converting-string-into-datetime

  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data '0       06/13/2006\n1       06/14/2006\n2 ...11/01/2016\nName: Date, dtype: object' does not match format '%m/%d/%y'

我会假设格式错误但最好的格式是什么。我也使用%Y。 谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用python模块 datetime

import datetime
dt = datetime.datetime.now()
print(str(dt.day) + " of the " + str(dt.month) + " month of the year " + str(dt.year))

这将以以下格式打印:

3 of the 11 month of the year 2016

答案 1 :(得分:0)

我想你想要这样的东西:

import datetime
datetime.datetime.strptime(date_string, '%m/%d/%Y').date()