Python 日期的 F-String 格式,如 String

Python F-String formatting for date like String

我想使用 Python 3.8 提供的 F-Strings 来按照我喜欢的方式格式化字符串。

原来的String/Strings是这样的:

25.02.2021
17.02.2021
17.02.2021
17.02.2021
11.03.2021
17.02.2021
17.02.2021
04.03.2021

现在我想以“相反的方式”改变它们,所以我希望它们看起来像这样:2021.03.12 所以 YYYY.MM.DD

我试过了:line = f'{line:%Y.%m.%d}'行是原来的Stringname。

但是如果我使用它,我会得到这个错误:

    line = f'{line:%Y.%m.%d}'
ValueError: Invalid format specifier

谢谢 - 褪色

错误消息是因为您的数据是字符串而不是 datetimes,并且格式说明符 :%Y.%m.%d 仅适用于 datetimes。您 可以 使用 strptime() 将您的字符串解析为 datetime,但是因为您只想颠倒顺序,您可以这样做:

>>> data = '25.02.2021'
>>> '{}.{}.{}'.format(*reversed(data.split(".")))
'2021.02.25'

还有其他方法可以做到这一点,但您似乎想使用字符串格式来做到这一点。

您可以尝试用 . 拆分它,然后通过反转它来加入。 这是简单的解决方案

line = '.'.join(line.split('.')[::-1])