如何使用Python中的日期格式显示小年份的4位数字



如果我正确理解标准库文档中的日期格式,则以下

from datetime import date
date(1, 2, 3).strftime("%Y-%m-%d")

应该产生"0001-02-03",但它却产生"1-02-03"

我在3.7-3.10版本中尝试过,得到了相同的结果。我是不是错过了什么?

我可以只使用日期时间格式代码使年份始终有4位数字吗?我知道我可以将日期的每个字段(如<date>.year(单独格式化为0填充整数,并以此方式形成字符串。

根据datetime库的文档,您需要手动将小于4位数宽度的焊盘年份清零。

The strptime() method can parse years in the full [1, 9999] range,
but years < 1000 must be zero-filled to 4-digit width.

你可以试试这个:

dt = date(1,2,3)
print(f'{dt.year:04}-{dt.month:02}-{dt.day:02}')
# output: 0001-02-03

相关内容

  • 没有找到相关文章

最新更新