用下划线而不是连字符转换datetime.date()对象



我试图创建一个datetime.date对象,但将日期中的连字符改为下划线。有没有一种方法可以对datetime.date对象执行此操作?或者我必须以某种方式对datetime对象执行此操作?

from datetime import datetime

date = datetime.strptime('2021-12-30', '%Y-%m-%d').date()
print(type(date))
# <class 'datetime.date'>
print(date)
# 2021-12-30
date_2 = date.strftime('%Y_%m_%d')
print(date_2)
# 2021_12_30
print(type(date_2))
# <class 'str'> I want this to stay as a datetime.date object

您所指的datetime对象仅以以下形状存在:datetime.date(2021, 12, 30)。当你在上面调用print()时,它只需将其转换成一个字符串并打印出来:

> print(date)
2021-12-30

也就是说,除非你决定使用字符串,否则你不能用下划线代替破折号。strftime()是将日期转换为字符串的好方法。否则,您可以使用以下方法获得相同效果:

> str(date).replace('-', '_')
2021_12_30

有关Python字符串和日期对象的更多颜色,请查看以下答案:如何以常规格式打印日期?

第一个例子中的print(date(是由datetime处理的python datetime对象的字符串表示str方法

date.strftime是根据给定格式获取字符串表示的函数

相关内容

最新更新