我想了解以下内容:给定一个日期(datetime对象),一周中对应的日期是什么?
例如,星期天是第一天,星期一是第二天。。等等
然后如果输入的内容类似于今天的日期。
实例
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
产量可能是6(因为现在是星期五)
我想了解以下内容:给定一个日期(datetime对象),一周中对应的日期是什么?
例如,星期天是第一天,星期一是第二天。。等等
然后如果输入的内容类似于今天的日期。
实例
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
产量可能是6(因为现在是星期五)
当前回答
使用以下代码:
import pandas as pd
from datetime import datetime
print(pd.DatetimeIndex(df['give_date']).day)
其他回答
这是一个新的方法。星期天是0。
from datetime import datetime
today = datetime(year=2022, month=6, day=17)
print(today.toordinal()%7) # 5
yesterday = datetime(year=1, month=1, day=1)
print(today.toordinal()%7) # 1
如果您有理由避免使用datetime模块,那么此函数将起作用。
注:从儒略历到公历的变化被认为发生在1582年。如果您感兴趣的日历并非如此,那么如果年份>1582,则相应地更改行。
def dow(year,month,day):
""" day of week, Sunday = 1, Saturday = 7
http://en.wikipedia.org/wiki/Zeller%27s_congruence """
m, q = month, day
if m == 1:
m = 13
year -= 1
elif m == 2:
m = 14
year -= 1
K = year % 100
J = year // 100
f = (q + int(13*(m + 1)/5.0) + K + int(K/4.0))
fg = f + int(J/4.0) - 2 * J
fj = f + 5 - J
if year > 1582:
h = fg % 7
else:
h = fj % 7
if h == 0:
h = 7
return h
如果你想用英语约会:
from datetime import date
import calendar
my_date = date.today()
calendar.day_name[my_date.weekday()] #'Wednesday'
如果您是中国用户,您可以使用此软件包:https://github.com/LKI/chinese-calendar
import datetime
# 判断 2018年4月30号 是不是节假日
from chinese_calendar import is_holiday, is_workday
april_last = datetime.date(2018, 4, 30)
assert is_workday(april_last) is False
assert is_holiday(april_last) is True
# 或者在判断的同时,获取节日名
import chinese_calendar as calendar # 也可以这样 import
on_holiday, holiday_name = calendar.get_holiday_detail(april_last)
assert on_holiday is True
assert holiday_name == calendar.Holiday.labour_day.value
# 还能判断法定节假日是不是调休
import chinese_calendar
assert chinese_calendar.is_in_lieu(datetime.date(2006, 2, 1)) is False
assert chinese_calendar.is_in_lieu(datetime.date(2006, 2, 2)) is True
使用weekday():
>>> import datetime
>>> datetime.datetime.today()
datetime.datetime(2012, 3, 23, 23, 24, 55, 173504)
>>> datetime.datetime.today().weekday()
4
根据文档:
以整数形式返回星期几,其中星期一为0,星期日为6。