【问题标题】:Convert datetime generator object to list of date strings将日期时间生成器对象转换为日期字符串列表
【发布时间】:2021-06-08 17:16:57
【问题描述】:

我在生成器中有一个 DateTime 对象列表

l = [datetime.date(2016, 1, 7), datetime.date(2016, 1, 14), datetime.date(2016, 1, 21), datetime.date(2016, 1, 28), datetime.date(2016, 2, 4)]

我们如何将其转换为日期字符串格式的列表?

输出:

['2016-01-07', '2016-01-21', '2016-01-28', '2016-03-04']

【问题讨论】:

  • datetime 文档向您展示了如何将datetime 值格式化为您选择的字符串。 apply 到列表中。你在哪里卡住了这个过程?
  • s = [str(x) for x in l] 这很简单。
  • 为什么我运行你的命令,我得到了你预期的输出。
  • 否,但现在找到了答案。感谢您的意见。

标签: python python-3.x python-2.7


【解决方案1】:

使用datetime.strftime

import datetime
l = [datetime.date(2016, 1, 7), datetime.date(2016, 1, 14), datetime.date(2016, 1, 21), datetime.date(2016, 1, 28), datetime.date(2016, 2, 4)]
date_string = [d.strftime('%m-%d-%y') for d in l]
print(date_string)

【讨论】:

    【解决方案2】:

    您可以使用 map 并获得所需的输出如下:

    import datetime
    l = [datetime.date(2016, 1, 7), datetime.date(2016, 1, 14), datetime.date(2016, 1, 21), datetime.date(2016, 1, 28), datetime.date(2016, 2, 4)]
    output = list(map(lambda x:x.strftime('%Y-%m-%d'),l))
    print(output)
    # ['2016-01-07', '2016-01-21', '2016-01-28', '2016-03-04']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 2014-12-13
      • 2020-05-21
      • 2020-11-30
      相关资源
      最近更新 更多