我有这段代码:
def some_method(start, end):
a = 'items?from=%s&to=%s' % (start.strftime('%Y%m%d'), end.strftime('%Y%m%d'))
# ....
我应该将什么传递给some_method?我试过这些:
some_method("20000101", "20140902")
some_method(20000101, 20140902)
some_method(time.strptime("30 Nov 00"), time.strptime("30 Nov 05"))
但由于类型不匹配错误,这些都没有奏效。文档对我来说也没有用(https://docs.python.org/2/library/time.html#time.strptime)。
答案 0 :(得分:2)
你需要datetime.datetime()
object;这些有一个datetime.datetime.strftime()
methods。你也可以使用datetime.date
object;这些都有same method。
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2014, 9, 3, 19, 40, 38, 174720)
>>> datetime.datetime.now().strftime('%Y%m%d')
'20140903'
>>> datetime.date.today().strftime('%Y%m%d')
'20140903'
datetime.time()
type也有一个,但您不能使用'%Y%m%d'
格式,因为他们没有所需的日期信息。
你知道Python documentation has a search feature吗?以上3种类型 - { - 1}} - 方法是前3次点击。
答案 1 :(得分:0)
您需要传递类struct_time的对象。
您可以使用time.strptime从字符串创建一个,如下所示:time.strptime("30 Nov 00", "%d %b %y")
,使用时间格式传递第二个参数;或使用gmtime或localtime。
然后使用strftime的方法是将该对象作为第二个参数传递:
start = time.strptime("30 Nov 00", "%d %b %y")
print time.strftime('%Y%m%d', start)