gpt4 book ai didi

python - 为什么日期时间字符串格式不可逆?

转载 作者:行者123 更新时间:2023-12-01 06:39:01 25 4
gpt4 key购买 nike

我期望 datetime.strftimedatetime.strptime 调用是可逆的。这样调用

datetime.strptime(datetime.now().strftime(fmt), fmt))

将给出 now() 最接近的重建(给定格式保留的信息)。

但是,将日期格式化为具有 YYYY-Week# 格式的字符串时,情况并非如此:

>>> yyyy_u = datetime.datetime(1992, 5, 17).strftime('%Y-%U')
>>> print(yyyy_u)
'1992-20'

将字符串格式化回日期不会给出预期的响应:

>>> datetime.datetime.strptime(yyyy_u, '%Y-%U')
datetime.datetime(1992, 1, 1, 0, 0)

我预计响应会在 1992 年第 20 周的第一天(1992 年 5 月 17 日)。

这是 %U 格式选项失败,还是更常见的是 datetime.strftimedatetime.strptime 调用不应该可逆吗?

最佳答案

来自 Python docs关于 strptime() 行为:

  1. When used with the strptime() method, %U and %W are only used in calculations when the day of the week and the year are specified.

必须指定星期几以及周数和年份。(%Y-%U-%w)

datetime.datetime.strptime('1992-20-0', '%Y-%U-%w') 给出 1992 年第 20 周的第一天。

关于python - 为什么日期时间字符串格式不可逆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59542198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com