【问题标题】:Convert date Python转换日期 Python
【发布时间】:2010-12-17 05:35:22
【问题描述】:

我有MMDDYY 日期,即今天是111609

如何在 Python 中将其转换为 11/16/2009

【问题讨论】:

    标签: python date


    【解决方案1】:

    我建议如下:

    import datetime
    date = datetime.datetime.strptime("111609", "%m%d%y")
    print date.strftime("%m/%d/%Y")
    

    这会将010199 转换为01/01/1999 并将010109 转换为01/01/2009

    【讨论】:

      【解决方案2】:
      date = '111609'
      new_date = date[0:2] + '/' + date[2:4] + '/' + date[4:6]
      

      【讨论】:

      • 缺少四位数年份部分。如果日期是“010199”呢?
      • 问题要求的年份是 4 位数,而不仅仅是原始字符串中的 2 位数
      • 是的。我失败了。我之所以回答,是因为 OP 似乎想要一个被破解的答案。日期时间ftw,imo。
      【解决方案3】:
      >>> s = '111609'
      >>> d = datetime.date(int('20' + s[4:6]), int(s[0:2]), int(s[2:4]))
      >>> # or, alternatively (and better!), as initially shown here, by Tim
      >>> # d = datetime.datetime.strptime(s, "%m%d%y")
      >>> d.strftime('%m/%d/%Y')
      '11/16/2009'
      

      strptime() 方法更好的原因之一是它处理接近当代的日期,有一个窗口,即正确处理 20 世纪后期的日期和早期的日期正确的 21 世纪。

      【讨论】:

        【解决方案4】:

        不完整,但有一个想法

        2009 年 11 月 16 日

        date_var = ("11/16/2009")    
        datetime.date.replace(year=2009, month=11, day=16)
        

        【讨论】:

          猜你喜欢
          • 2016-07-07
          • 2023-03-27
          • 1970-01-01
          • 2012-05-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-27
          相关资源
          最近更新 更多