Python3:将任意日期转换为星期几

Python3:将任意日期转换为星期几,python,python-3.x,Python,Python 3.x,我正在尝试转换以下格式的日期: 2007-10-18 11:31:46 -0400 (Thu, 18 Oct 2007) 或 直到一周中的某一天。尽管上述日期中给出了日期,但如何从上述日期中提取一周中唯一的一天?这是否太简单了: days = { 'mon': 'Monday', 'thu': 'Thursday', # and the others } haystack = '2007-10-18 11:31:46 -0400 (Thu, 18 Oct 2007)'

我正在尝试转换以下格式的日期:

2007-10-18 11:31:46 -0400 (Thu, 18 Oct 2007)

直到一周中的某一天。尽管上述日期中给出了日期,但如何从上述日期中提取一周中唯一的一天?

这是否太简单了:

days = {
    'mon': 'Monday',
    'thu': 'Thursday',
    # and the others
}

haystack = '2007-10-18 11:31:46 -0400 (Thu, 18 Oct 2007)'
for acronym, full_name in days.items():
    if acronym in haystack.lower():
        print(f"Found {full_name}")
这是否太简单:

days = {
    'mon': 'Monday',
    'thu': 'Thursday',
    # and the others
}

haystack = '2007-10-18 11:31:46 -0400 (Thu, 18 Oct 2007)'
for acronym, full_name in days.items():
    if acronym in haystack.lower():
        print(f"Found {full_name}")
您可以使用从字符串获取
datetime
对象:

from dateutil import parser
dt = parser.parse("2007-10-18 11:31:46 -0400")
# dt = datetime.datetime(2007, 10, 18, 11, 31, 46, tzinfo=tzoffset(None, -14400))
那就用它吧。这将为您提供一个从
0
6
的数字,其中
0
是一周中相对于时区的第一天,默认情况下为周一

dt.weekday
# 3, starting from 0 so it's Thursday
您可以使用从字符串获取
datetime
对象:

from dateutil import parser
dt = parser.parse("2007-10-18 11:31:46 -0400")
# dt = datetime.datetime(2007, 10, 18, 11, 31, 46, tzinfo=tzoffset(None, -14400))
那就用它吧。这将为您提供一个从
0
6
的数字,其中
0
是一周中相对于时区的第一天,默认情况下为周一

dt.weekday
# 3, starting from 0 so it's Thursday

您可以添加一个吗?签出您只需制作一个每周7天的
列表
dict
,并检查其中一天是否以文本形式出现。或者一周中的某一天不总是以文本形式出现?您可以添加一个吗?签出您可以用一周中的7天制作一个
列表
dict
,并检查其中一天是否以文本形式出现。或者一周中的某一天并不总是以文本的形式出现?