import time
from datetime import datetime
week_list = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
year=time.localtime().tm_year#既可以获取当前年份,也可以指定年份
month=time.localtime().tm_mon#既可以获取当前月份,也可以指定年月份
day=time.localtime().tm_mday#既可以获取当前天数,也可以指定天数
date =datetime.date(datetime(year=year,month=month,day=day))

# 第一种,使用strftime("%A"), %A表示时,1-6表示周一到周六,0表示周日
print(date.strftime("%A"))
# 第二种,使用isoweekday()函数 1-7表示周一到周日
print(week_list[date.isoweekday()])
# 第三种,使用weekday()函数,这里是从0开始计数的,0-6表示周一到周日
print(week_list[date.weekday()+1])
#第四种,使用day_of_week函数,这里是从0开始计数的,0-6表示周一到周日
import pendulum
time_local=time.localtime()
time_local=time.strftime("%Y-%m-%d",time_local)
date_num=pendulum.parse(f'{time_local}').day_of_week
print(week_list[date_num])
#第五种,使用pandas,Series.dt可用于以datetimelike的形式访问序列的值并返回几个属性。
# Series.dt.day_name()函数返回具有指定语言环境的DateTimeIndex的日期名称。
# 这里是从0开始计数的,0-6表示周一到周日
import pandas as pd
from datetime import datetime

df = pd.DataFrame({
    "name": ["张半仙", "程小雨", "谢凯文"],
    "date": [datetime(2022, 3, 21), datetime(2022, 3, 22), datetime(2022, 3, 23)]})
#print(df)
df["week_num_1"] = df["date"].dt.dayofweek
df["week_num_2"] = df["date"].dt.weekday
df["week_name"] = df["date"].dt.day_name()

print(df)