![](/img/trans.png)
[英]How to initialize datetime 0000-00-00 00:00:00 in Python?
[英]How to format '0000-00-00 00:00:00' using strftime() in python?
格式化日期为:
dob = datetime(0000, 00, 00)
dob = dob.strftime("%Y-%m-%d")
但它给出了错误: ValueError: year is out of range
我如何在 python 中使用strftime()
格式化datetime(0000,00,00)
?
Python关于datetime
模块的文档,特别是datetime
类指出datetime
对象可以具有以下范围内的属性值:
MINYEAR <= year <= MAXYEAR 1 <= month <= 12 1 <= day <= number of days in the given month and year 0 <= hour < 24 0 <= minute < 60 0 <= second < 60 0 <= microsecond < 1000000
该模块还定义了以下常量:
datetime.MINYEAR
日期或日期时间对象中允许的最小年份数。
MINYEAR
是1
。
datetime.MAXYEAR
日期或日期时间对象中允许的最大年份数。
MAXYEAR
是9999
。
这意味着您不能在datetime
类的构造函数中使用那些 ( datetime(0000, 00, 00)
) 参数,因此ValueError
表明给定的年份超出范围
由于您无法首先使用以下参数构造datetime
对象,因此无法对其调用strftime
方法。
您不能使用值为 0 的年/月/日。
dob = datetime(1989, 1, 1)
dob = dob.strftime("%Y-%m-%d")
'1989-01-01'
日期、月份和年份不能为 0。如果您希望提供某种默认值,请考虑为其提供一个回溯值,例如 1970 年 1 月 1 日或任何其他年份在 1-9999 范围内、日期在 1-30 范围内的日期( 28,29,31(如适用)和 1-12 范围内的月份
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.