在 Python 上将字符串转换为日期类型

2022-01-12 00:00:00 python string date type-conversion

问题描述

我有这个字符串:

'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'

相关文章