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

时间:2019-04-29 15:52:00

标签: python python-3.x

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

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

Thu, 18 Oct 2007 11:31:49 -0400

到星期几。即使在上述日期中指定了日期,但如何从上述日期中提取一周中的唯一一天?

3 个答案:

答案 0 :(得分:0)

这太简单了吗

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}")

答案 1 :(得分:0)

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
date = "2007-10-18 11:31:46 -0400 (Thu, 18 Oct 2007)"
for d in days:
    if d in date:
         print(d)

答案 2 :(得分:0)

您可以使用dateutil.parser从字符串中获取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))

然后只需使用datetime.weekday。这将为您提供一个从06的数字,其中0是相对于您的时区的一周的第一天,默认情况下为星期一。

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