use*_*044 2 python strptime python-2.7
我在这做错了什么?
import datetime
someday = datetime.datetime(2014, 9, 23, 0, 0)
someday = datetime.datetime.strptime(someday[:10], '%Y-%m-%d')
print someday
Run Code Online (Sandbox Code Playgroud)
错误:
TypeError: 'datetime.datetime' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)
someday是一个datetime不支持切片的对象.所以,做someday[:10]一个提高TypeError.
someday在切片之前,您需要转换为字符串:
someday = datetime.datetime.strptime(str(someday)[:10], '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
演示:
>>> import datetime
>>> someday = datetime.datetime(2014, 9, 23, 0, 0)
>>>
>>> someday # This is a datetime object
datetime.datetime(2014, 9, 23, 0, 0)
>>> someday[:10] # Does not support slicing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'datetime.datetime' object has no attribute '__getitem__'
>>>
>>> str(someday) # This returns a string
'2014-09-23 00:00:00'
>>> str(someday)[:10] # Supports slicing
'2014-09-23'
>>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11958 次 |
| 最近记录: |