在Python上将字符串转换为日期类型[重复]
Posted
技术标签:
【中文标题】在Python上将字符串转换为日期类型[重复]【英文标题】:Convert string into Date type on Python [duplicate] 【发布时间】:2012-03-19 05:57:03 【问题描述】:我有这个字符串:
'2012-02-10' # (year-month-day)
我需要它作为日期类型才能使用日期函数isoweekday()
。
有谁知道如何将这个字符串转换为日期?
【问题讨论】:
这对于也需要所有日期和时间的人会有所帮助:> datetime.datetime.strptime('2020-10-13 00:00:00', '%Y-%m-%d %H:%M:%S') 【参考方案1】:你可以用datetime.strptime()
做到这一点
例子:
>>> from datetime import datetime
>>> datetime.strptime('2012-02-10' , '%Y-%m-%d')
datetime.datetime(2012, 2, 10, 0, 0)
>>> _.isoweekday()
5
您可以找到包含所有strptime
指令here 的表。
如果.isweekday() == 6
,要增加2天,你可以使用timedelta()
:
>>> import datetime
>>> date = datetime.datetime.strptime('2012-02-11' , '%Y-%m-%d')
>>> if date.isoweekday() == 6:
... date += datetime.timedelta(days=2)
...
>>> date
datetime.datetime(2012, 2, 13, 0, 0)
>>> date.strftime('%Y-%m-%d') # if you want a string again
'2012-02-13'
【讨论】:
@user1072627:而且.. 成功了吗? 这正是我所做的:if datetime.strptime(a, "%Y-%m-%d").isoweekday() == 6: PONTO_MOVIMENTO = a 再问一个问题...如何在约会中添加天数?例如,如果 isoweekdday() == 6,我需要在 2 天内增加日期。知道我该怎么做吗?再次感谢! 我发现已经在使用 timedelta。不过谢谢! @user1072627:是的,timdelta
是正确的工具。即使您已经找到它,我还是添加了一个示例。 :)【参考方案2】:
from datetime import datetime
a = datetime.strptime(f, "%Y-%m-%d")
【讨论】:
【参考方案3】:使用datetime.datetime.strptime
:
>>> import datetime
>>> date = datetime.datetime.strptime('2012-02-10', '%Y-%m-%d')
>>> date.isoweekday()
5
【讨论】:
【参考方案4】:>>> from datetime import datetime
>>> year, month, day = map(int, my_date.split('-'))
>>> date_object = datetime(year, month, day)
【讨论】:
当我需要 datetime.date 对象而不是 datetime.datetime 对象时,我使用了类似的东西。不幸的是,datetime.date 没有 strptime() 方法。【参考方案5】:虽然问题似乎已根据 OP 的要求得到解答,但没有一个答案提供了获取 datetime.date
对象而不是 datetime.datetime
的好方法。所以对于那些搜索和找到这个线程的人:
datetime.date
没有.strptime
方法;改为使用datetime.datetime
上的那个,然后在其上调用.date()
以接收datetime.date
对象。
像这样:
>>> from datetime import datetime
>>> datetime.strptime('2014-12-04', '%Y-%m-%d').date()
datetime.date(2014, 12, 4)
【讨论】:
这才是真正的答案 这应该是公认的答案 如果我将 datetime.datetime 对象转换为 datetime.date 对象,则 datetime.date 对象不适用于 datetime.timedelta() 方法。如果对象是 datetime.date,有没有办法进行日期计算(例如从日期中添加或减去天数)?以上是关于在Python上将字符串转换为日期类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何将字符串类型的日期转换为另一种日期格式。 |颤振 |飞镖[重复]