我使用的是Python 2.5并在App Engine中运行,并使用类似于以下内容的代码进行分页:
NEXT_FORMAT = "%Y-%m-%d %H:%M:%S"
current = model.completed_on.strftime(NEXT_FORMAT)
completed_before = datetime.datetime.strptime(current, NEXT_FORMAT)
每隔一段时间strftime就会退出一个看起来像2011-11-24 05:13:54.355436
的时间然后strptime会爆炸试图吃掉它
ValueError: unconverted data remains: .355436
那么,为什么如果你使用的格式说%S是秒作为十进制数是创建浮点数?它会发生,为什么不以同样的方式处理它呢?
答案 0 :(得分:7)
将其更改为:
NEXT_FORMAT = "%Y-%m-%d %H:%M:%S.%f"
这也将转换微秒部分。
或者,如果你想剥去微秒,你可以在调用strptime之前使用replace。
current = current.replace(microsecond=0)