【问题标题】:Convert custom string date to date将自定义字符串日期转换为日期
【发布时间】:2023-02-16 00:24:41
【问题描述】:

有没有办法将以某种非传统自定义方式存储的字符串日期转换为使用datetime(或等效的东西)的日期?我正在处理的日期是 S3 分区,如下所示:

year=2023/month=2/dayofmonth=3

我可以用几个replaces 来完成这个,但我希望找到一个干净的单一操作来做到这一点。

【问题讨论】:

  • 我认为正则表达式在这里会有所帮助。您将能够构造一个单行代码,但可读性会受到影响。
  • 将您当前的实现放入一个函数中,因此调用它将是一个“单一操作”。

标签: python date


【解决方案1】:

您可以使用“datetime”结合 strptime() 方法将您的字符串转换为日期对象。

strtime() 有两个参数,第一个是要解析的字符串,第二个是带有格式的字符串。

这是一个例子:

from datetime import datetime

# your string
date_string = "year=2023/month=2/dayofmonth=3"

# parse the string into a datetime object
date = datetime.strptime(date_string, "year=%Y/month=%m/dayofmonth=%d")

# print the datetime object
print(date)

【讨论】:

    【解决方案2】:

    在这种情况下,您可以为 datetime.datetime.strptime 提供格式字符串保存文本

    import datetime
    dt = datetime.datetime.strptime("year=2023/month=2/dayofmonth=3","year=%Y/month=%m/dayofmonth=%d")
    d = dt.date()
    print(d) # 2023-02-03
    

    【讨论】:

      猜你喜欢
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      相关资源
      最近更新 更多