📅  最后修改于: 2023-12-03 15:38:41.595000             🧑  作者: Mango
在Python中,有多种方法可以在给定日期的情况下获得星期几。
datetime
模块提供datetime
类,可以处理日期和时间的各种操作。datetime
类有一个方法weekday()
,可以返回给定日期的星期几,其中星期一为0,星期日为6。
下面是一个示例代码片段:
from datetime import datetime
# 定义日期
date = '2022-05-01'
# 将字符串日期转换为datetime日期
date_obj = datetime.strptime(date, '%Y-%m-%d')
# 获取星期几,返回0表示星期一,返回6表示星期日
weekday = date_obj.weekday()
# 根据星期几输出对应的字符串
if weekday == 0:
print('星期一')
elif weekday == 1:
print('星期二')
elif weekday == 2:
print('星期三')
elif weekday == 3:
print('星期四')
elif weekday == 4:
print('星期五')
elif weekday == 5:
print('星期六')
else:
print('星期日')
上面的示例中,我们首先定义了一个字符串日期date
,然后使用datetime.strptime()
方法将它转换为datetime
对象。接着使用date_obj.weekday()
方法获取星期几,并根据星期几输出对应的字符串。
calendar
模块提供了一些方法可以处理日期和时间的各种操作。其中,calendar.weekday()
方法可以返回给定日期的星期几,与方法一中的datetime.weekday()
方法类似。
下面是一个示例代码片段:
import calendar
# 定义日期
date = '2022-05-01'
# 将字符串日期转换为日期元组
date_tuple = tuple(map(int, date.split('-')))
# 获取星期几,返回0表示星期一,返回6表示星期日
weekday = calendar.weekday(*date_tuple)
# 根据星期几输出对应的字符串
if weekday == 0:
print('星期一')
elif weekday == 1:
print('星期二')
elif weekday == 2:
print('星期三')
elif weekday == 3:
print('星期四')
elif weekday == 4:
print('星期五')
elif weekday == 5:
print('星期六')
else:
print('星期日')
上面的示例中,我们首先定义了一个字符串日期date
,然后使用map()
函数将它转换为日期元组。接着使用calendar.weekday()
方法获取星期几,并根据星期几输出对应的字符串。
dateutil
模块提供了一个parser.parse()
方法,可以将字符串日期解析成datetime
对象。datetime
对象有一个属性weekday()
,可以返回给定日期的星期几,与方法一和方法二类似。
下面是一个示例代码片段:
from dateutil.parser import parse
# 定义日期
date = '2022-05-01'
# 将字符串日期解析成datetime对象
date_obj = parse(date)
# 获取星期几,返回0表示星期一,返回6表示星期日
weekday = date_obj.weekday()
# 根据星期几输出对应的字符串
if weekday == 0:
print('星期一')
elif weekday == 1:
print('星期二')
elif weekday == 2:
print('星期三')
elif weekday == 3:
print('星期四')
elif weekday == 4:
print('星期五')
elif weekday == 5:
print('星期六')
else:
print('星期日')
上面的示例中,我们首先定义了一个字符串日期date
,然后使用parse()
方法将它解析成datetime
对象。接着使用date_obj.weekday()
方法获取星期几,并根据星期几输出对应的字符串。
无论采用哪种方法,我们都可以很方便地在Python中获取给定日期的星期几。