Python datetime.weekday()方法

Pythondatetime.weekday() 方法是寻找整数的星期的有效方法。星期一用0表示,星期日用6表示。

它与另一个名为self.date().weekday() 的Python函数相似。

Pythondatetime.weekday() 方法的语法

datetime.weekday()

参数

这个方法不接受任何参数。

返回值

该方法的返回类型是一个代表星期的整数。下面是分配给一周中各天的整数值的映射。

0 星期一
1 星期二
2 星期三
3 星期四
4 礼拜五
5 礼拜六
6 周日

例1:在Python中使用datetime.weekday() 方法

from datetime import datetime
datetime_object = datetime.now()
print('Datetime is:', datetime_object)
dayNo = datetime_object.weekday()
print('Day of the week is:', dayNo)

输出:

Datetime is: 2022-08-30 16:14:22.871489
Day of the week is: 1

上面的代码显示1 代表星期二这一天。

例2:使用datetime.weekday() 方法查找随机日期上的星期几

import datetime
datetime_object = datetime.datetime(2017, 10, 20)
print('The day of the week is:', datetime_object.weekday())

输出结果:

The day of the week is: 4

当我们想根据一个特定的日子来安排我们的日期时,这个方法就很方便了。

例3:使用datetime.weekday() 方法获得日期和时间以及日期的名称

import datetime
weekDays = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
datetime_object = datetime.datetime(2022, 8, 22, 00, 00, 00)
dayNo = weekDays[datetime_object.weekday()]
print("{} is for {}".format(datetime_object, dayNo))
nextDay = datetime_object.replace(day=2)
dayNo = weekDays[nextDay.weekday()]
print("{} is for {}".format(nextDay, dayNo))
nextDay = datetime_object.replace(day=3)
dayNo = weekDays[nextDay.weekday()]
print("{} is for {}".format(nextDay, dayNo))
nextDay = datetime_object.replace(day=4)
dayNo = weekDays[nextDay.weekday()]
print("{} is for {}".format(nextDay, dayNo))
nextDay = datetime_object.replace(day=5)
dayNo = weekDays[nextDay.weekday()]
print("{} is for {}".format(nextDay, dayNo))
nextDay = datetime_object.replace(day=6)
dayNo = weekDays[nextDay.weekday()]
print("{} is for {}".format(nextDay, dayNo))
nextDay = datetime_object.replace(day=7)
dayNo = weekDays[nextDay.weekday()]
print("{} is for {}".format(nextDay, dayNo))

输出:

2022-08-22 00:00:00 is for Monday
2022-08-02 00:00:00 is for Tuesday
2022-08-03 00:00:00 is for Wednesday
2022-08-04 00:00:00 is for Thursday
2022-08-05 00:00:00 is for Friday
2022-08-06 00:00:00 is for Saturday
2022-08-07 00:00:00 is for Sunday

上面的代码可以很容易地打印出日期和时间,以及相应的工作日名称。