如果是星期四,如何检查每个日期,如果不是,则打印下一个星期四
How to check each date if it's Thursday, if not print the following Thursday
我有一列标准日期时间格式的日期。我必须检查每个日期是否是星期四,如果是星期四则打印。如果不是,则必须在下周四打印。
以下函数将为每个星期四打印 It is Thursday
或为任何给定日期打印下一个 Thursday
的日期。
import datetime
def next_thursday(date):
# Thursday is day 3 in Python (Monday = 0)
days_ahead = 3 - date.weekday()
if days_ahead == 0:
print("It is Thursday")
# if Thursday has already happened this week we need to add 7 days to the difference
elif days_ahead < 0:
days_ahead += 7
# actually add the time delta using timedelta()
print(date + datetime.timedelta(days=days_ahead), "will be the next Thursday")
date = datetime.datetime.today()
next_thursday(date)
以下是 Python 脚本,它将上述函数应用于数据框列中的 20 个生成的随机日期。
def random_date():
today = datetime.datetime.today()
offset = random.randint(0, 100)
return today + datetime.timedelta(days=offset)
dateCol = [random_date() for _ in range(20)]
df = pd.DataFrame({"date": dateCol})
df["date"].apply(next_thursday)
我有一列标准日期时间格式的日期。我必须检查每个日期是否是星期四,如果是星期四则打印。如果不是,则必须在下周四打印。
以下函数将为每个星期四打印 It is Thursday
或为任何给定日期打印下一个 Thursday
的日期。
import datetime
def next_thursday(date):
# Thursday is day 3 in Python (Monday = 0)
days_ahead = 3 - date.weekday()
if days_ahead == 0:
print("It is Thursday")
# if Thursday has already happened this week we need to add 7 days to the difference
elif days_ahead < 0:
days_ahead += 7
# actually add the time delta using timedelta()
print(date + datetime.timedelta(days=days_ahead), "will be the next Thursday")
date = datetime.datetime.today()
next_thursday(date)
以下是 Python 脚本,它将上述函数应用于数据框列中的 20 个生成的随机日期。
def random_date():
today = datetime.datetime.today()
offset = random.randint(0, 100)
return today + datetime.timedelta(days=offset)
dateCol = [random_date() for _ in range(20)]
df = pd.DataFrame({"date": dateCol})
df["date"].apply(next_thursday)