【问题标题】:Modify a date given in string format修改以字符串格式给出的日期
【发布时间】:2021-11-14 19:05:43
【问题描述】:

我得到一个字符串格式的日期“12-31-2020”,我需要减去 3 天,但我还需要字符串格式的输出“12-28-2020”。我想我需要先将其转换为日期格式才能进行减法。你能帮我我应该使用什么功能。提前致谢!

【问题讨论】:

  • 到目前为止你尝试了什么?

标签: python date datetime


【解决方案1】:

以下是仅使用包含标准库的datetime 模块的方法。代码首先将字符串转换为 datetime.datetime 对象,从中减去 3 天的 timedelta,最后以相同的格式打印出结果。

from datetime import datetime, timedelta

date_string = '31-12-2020'
date = datetime.strptime(date_string, '%d-%m-%Y') - timedelta(days=3)
print(date.strftime('%d-%m-%Y'))  # -> 28-12-2020

【讨论】:

  • 谢谢!!!!!!!
  • 它们都是很好的答案。我可以同时接受吗?
  • 很遗憾没有。感谢您的提问。
【解决方案2】:

使用来自 python 的非常强大的 dateutil 库。你几乎可以用它来做任何有趣的事情。

from dateutil import parser, relativedelta

date_string = '31-12-2020'
print((parser.parse(date_string) - relativedelta.relativedelta(days=3)).strftime('%m-%d-%Y'))

【讨论】:

  • 谢谢!!!!!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-04
  • 2016-06-25
  • 1970-01-01
  • 2011-05-04
  • 1970-01-01
  • 2023-03-18
相关资源
最近更新 更多