在Python上将字符串转换为日期类型
我有这个字符串:在Python上将字符串转换为日期类型,python,string,date,type-conversion,Python,String,Date,Type Conversion,我有这个字符串: '2012-02-10' # (year-month-day) 我需要它作为日期类型,以便使用日期函数isoweekday() 有人知道如何将此字符串转换为日期吗?您可以使用 例如: >>> from datetime import datetime >>> datetime.strptime('2012-02-10' , '%Y-%m-%d') datetime.datetime(2012, 2, 10, 0, 0) >>&g
'2012-02-10' # (year-month-day)
我需要它作为日期类型,以便使用日期函数isoweekday()
有人知道如何将此字符串转换为日期吗?您可以使用
例如:
>>> from datetime import datetime
>>> datetime.strptime('2012-02-10' , '%Y-%m-%d')
datetime.datetime(2012, 2, 10, 0, 0)
>>> _.isoweekday()
5
您可以找到包含所有strtime
指令的表
如果
.isweekday()==6
,则要增加2天,可以使用:
使用:
虽然这个问题似乎是根据OP的请求回答的,但没有一个答案提供了一个好方法来获取
datetime.date
对象,而不是datetime.datetime
。因此,对于那些搜索和查找此线程的人:
datetime.date
没有.strtime
方法;改为使用datetime.datetime
上的一个,然后在其上调用.date()
以接收datetime.date
对象
像这样:
>>> from datetime import datetime
>>> datetime.strptime('2014-12-04', '%Y-%m-%d').date()
datetime.date(2014, 12, 4)
@user1072627:和。。它起作用了吗?这正是我所做的:如果datetime.strtime(a,“%Y-%m-%d”).isoweekday()=6:PONTO_MOVIMENTO=a还有一个问题。。。如何在日期中添加天数?例如,如果isoweekday()==6,我需要在2天内增加日期。你知道我是怎么做的吗?再次感谢!我发现已经在使用timedelta了。但是谢谢@user1072627:Yes
timdelta
是正确的工具。尽管您已经找到了,但我还是添加了一个示例。:)当我需要datetime.date对象而不是datetime.datetime对象时,我使用了类似的方法。很遗憾,datetime.date没有strTime()方法。这是真正的答案。这应该是可接受的答案。如果我将datetime.datetime对象转换为datetime.date对象,datetime.date对象与datetime.timedelta()方法不兼容。如果对象是datetime.date,是否有方法进行日期计算(例如从日期中添加或减去天数)?这对同样需要所有日期和时间的人会有所帮助:>datetime.datetime.StrTime('2020-10-13 00:00:00','%Y-%m-%d%H:%m:%S')
from datetime import datetime
a = datetime.strptime(f, "%Y-%m-%d")
>>> import datetime
>>> date = datetime.datetime.strptime('2012-02-10', '%Y-%m-%d')
>>> date.isoweekday()
5
>>> from datetime import datetime
>>> year, month, day = map(int, my_date.split('-'))
>>> date_object = datetime(year, month, day)
>>> from datetime import datetime
>>> datetime.strptime('2014-12-04', '%Y-%m-%d').date()
datetime.date(2014, 12, 4)