【问题标题】:Python - Convert list of string dates in format '2000-01-01' to list of float dates in format YYYYmmddPython - 将格式为“2000-01-01”的字符串日期列表转换为格式为 YYYYmmdd 的浮点日期列表
【发布时间】:2018-11-05 22:05:32
【问题描述】:

我是 Python 新手,我一直在寻找答案。我见过类似的问题,但无法准确找到我正在寻找的内容。

我有一个格式为“YYYY-mm-dd”的字符串日期列表,我想将其转换为格式为“YYYYmmdd”的浮点日期列表。在这里的任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 从分解问题开始。在这种情况下,它可以分为 2 个部分。 1Convert from YYYY-mm-dd to YYYYmmdd2Apply function to each element of a list。作为一名开发人员,您永远找不到任何 100% 满足您需求的解决方案。相反,您需要找出问题的不同部分并一一解决。
  • 你需要分享你目前尝试过的代码
  • 提示:str.replace()float() 是你的朋友。

标签: python


【解决方案1】:
dates = ['2000-01-01', '2018-11-05']
[int(date.replace('-','')) for date in dates]
[20000101, 20181105]

您可以使用float 代替int,但我认为没有理由这样做。

【讨论】:

    【解决方案2】:

    你可以使用时间模块

    >>> import time
    >>> from_date = "2016-09-23"
    >>> to_date = time.strptime(from_date,"%Y-%m-%d")
    >>> time.strftime("%Y%m%d",to_date)
    '20160923'
    

    【讨论】:

      【解决方案3】:

      您可以使用以下代码进行列表迭代:

      from datetime import datetime
      
      mylist = ["05/12/2017","06/12/2017","23/05/2018"]
      list2=[]
      
      for x in mylist:
          final_date = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y%m%d')
          list2.append(final_date)
      print(list2)
      

      【讨论】:

        猜你喜欢
        • 2023-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-08
        • 2012-02-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多