python日期:分钟不会转换回去。为什么?

2024-06-01 09:41:37 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下代码:

datestring = date.min.strftime("%d-%m-%Y")
date = datetime.strptime(datestring,"%d-%m-%Y")

这将引发以下错误:

^{pr2}$

那为什么闽日不是1900???在

我在用储藏室日期:分钟在类的init中设置为空日期sortof。当我将其持久化到sqlite数据库中时,我不会以这种方式使用空日期。在

我这样做是因为当我从数据库读回一个空日期时,它会在convertdate函数的dbapi2.py中引发一个错误

你们怎么解决这个问题?在


Tags: 代码数据库sqlitedatetimedateinit错误方式
2条回答

您可以粘贴“ISO 8601格式:YYYY-MM-DD”:

>>> from datetime import date, datetime
>>> date_str = date.min.isoformat()
>>> print date_str
0001-01-01
>>> date_obj = datetime.strptime(date_str,"%Y-%m-%d")
>>> print date_obj
0001-01-01 00:00:00

这不是date.mindatetime模块的问题,问题是由于strftime实现中的特定于平台的怪异

http://bugs.python.org/issue1777412

解决方法是设置一个date_min > 1900,或者只使用手工编制的字符串作为默认日期值

相关问题 更多 >