【问题标题】:convert string to date type python [duplicate]将字符串转换为日期类型python [重复]
【发布时间】:2013-03-11 13:42:11
【问题描述】:

如何在python中将字符串转换为日期对象?

字符串将是:“30-01-12”(对应格式:“%d-%m-%y”)

我不想要一个 datetime.datetime 对象,而是一个 datetime.date

【问题讨论】:

    标签: python string date datetime


    【解决方案1】:

    您仍然使用datetime.datetime,但随后只请求.date() 部分:

    datetime.datetime.strptime('30-01-12', '%d-%m-%y').date()
    

    演示:

    >>> import datetime
    >>> datetime.datetime.strptime('30-01-12', '%d-%m-%y').date()
    datetime.date(2012, 1, 30)
    

    【讨论】:

      【解决方案2】:

      这应该可行:

      import datetime
      s = "30-01-12"
      slist = s.split("-")
      sdate = datetime.date(int(slist[2]),int(slist[0]),int(slist[1]))
      

      【讨论】:

      • python 内置了处理此操作的方法
      • 糟糕,忘了 str 到 int。我不经常使用日期时间,所以我很高兴有更好的方法来做到这一点。
      【解决方案3】:
      from datetime import datetime,date
      date_str = '30-01-12'
      formatter_string = "%d-%m-%y" 
      datetime_object = datetime.strptime(date_str, formatter_string)
      date_object = datetime_object.date()
      

      【讨论】: