在python中将日期从字符串转换为所需的日期时间格式

2024-09-30 14:37:06 发布

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

我有一个字符串格式的日期。我想将其转换为所需的日期时间格式(mm-dd-yyy)。以下是我使用的代码:

from datetime import datetime
demoDate='03-25-17'
requiredDate = datetime.strptime(demoDate, '%m-%d-%y').strftime('%m-%d-%Y')
print(requiredDate)
print(type(requiredDate))

我得到的输出是:

^{pr2}$

我可以知道我是否可以得到我所需的输出格式,但日期时间格式不是字符串?


Tags: 字符串代码fromimportdatetime格式时间dd
2条回答

而不是:

requiredDate = datetime.strptime(demoDate, '%m-%d-%y').strftime('%m-%d-%Y')

您不需要strftime

^{pr2}$

那么它将是一个好的datetime对象

只需取消对strftime的调用。在

from datetime import datetime
demoDate='03-25-17'
requiredDate = datetime.strptime(demoDate, '%m-%d-%y') # Note: this line changed, no strftime anymore
print(requiredDate)
print(type(requiredDate))

输出

^{pr2}$

如你所愿。在

您也可以使用您最初拥有的代码将其输出为mm-dd-yyy格式的字符串:

^{3}$

我认为您根据您的评论混淆了表示视图和实际的抽象基于您的评论。

对象本身是一个抽象的,它代表一个日期。如果你认为它是03-25-17还是2017-03-25,这并不重要。是同一天。它也不重要,你如何把它打成一个字符串(假设你在类上使用的方法将保持datetime对象的语义)。摘要日期本身保持不变。在

另一方面,您可以将datetime压缩成一个字符串,然后使用datetime类支持的任何格式在控制台中可视化该字符串。这包括mm-dd-yyy或dd-mm-yyyy。这些是相同日期的不同表示。换言之,对于这个日期抽象,有许多表示或视图,我们可以可视化,但我们这里只讨论一个抽象日期。在

因此,您不能要求有一个日期时间,并确保它始终表示为mm-dd-yyy。这没有任何意义。

相关问题 更多 >