问题描述
我有这个字符串:
'2012-02-10' # (year-month-day)
我需要它作为日期类型才能使用日期函数isoweekday().
and I need it to be as date type for me to use the date function isoweekday().
有谁知道如何将这个字符串转换为日期?
Does anyone know how I can convert this string into a date?
推荐答案
你可以用 datetime.strptime()
例子:
>>> from datetime import datetime >>> datetime.strptime('2012-02-10' , '%Y-%m-%d') datetime.datetime(2012, 2, 10, 0, 0) >>> _.isoweekday() 5
您可以找到包含所有 strptime 指令的表 这里.
You can find the table with all the strptime directive here.
如果 .isweekday() == 6 增加 2 天,您可以使用 timedelta():
To increment by 2 days if .isweekday() == 6, you can use 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'