如何解决从字符串到日期时间的格式化问题
>>> from datetime import datetime
>>> endDate = datetime.strptime("2022-05-03", '%Y-%m-%d').date()
当您打印日期对象时,它使用str
日期对象的表示。
>>> str(endDate)
'2022-05-03'
当您将其包含在容器中并打印时,容器在内部使用repr
对象的表示
>>> repr(endDate)
'datetime.date(2022, 5, 3)'
print
默认情况下,函数将传递给它的所有对象转换为带有str
.
所有非关键字参数都转换为字符串,如 str()
为了更好地理解这一点,我们可以创建一个实现类似这样__str__
的__repr__
功能的类
>>> class Test:
... def __str__(self):
... return "TEST_FROM_STR"
...
... def __repr__(self):
... return "TEST_FROM_REPR"
...
现在,我们可以创建该类的实例并使用列表单独打印它们,就像这样
>>> Test()
TEST_FROM_REPR
>>> [Test()]
[TEST_FROM_REPR]
>>> print(Test())
TEST_FROM_STR
>>> print([Test()])
[TEST_FROM_REPR]
解决方法
我正在尝试使用datetime
标准库模块解析一个字符串,然后显示它。
当我尝试此代码时,输出看起来正确:
>>> import datetime
>>> endDate = datetime.datetime.strptime("2022-05-03",'%Y-%m-%d').date()
>>> print(endDate)
2022-05-03
但是如果endDate
将 放入列表或元组中,它会改变:
>>> print([endDate])
[datetime.date(2022,5,3)]
为什么输出有“datetime.date”文本?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。