我必须在命令行中运行一个python脚本,并将日期作为参数传递,下面是我运行日期的命令
parser = argparse.ArgumentParser()
parser.add_argument('date')
tdate= parser.parse_args().date
我想更改此设置以检查是星期日还是星期六。如果是星期六,则tdate应为tdate-1,如果是星期日,则应为tdate-2。
我试着在python中得到weekno,如果它是5,我认为这是星期六,如果它是6,那么它是星期天。
#this code is in python getting today() weekday()
weekno = datetime.datetime.today().weekday()
if weekno==5:
tdate= parser.parse_args().date-1
elif weekno==6:
tdate= parser.parse_args().date-2
else:
tdate= parser.parse_args().date
我在这个代码中遗漏了一些东西。有人能帮助我吗?
1条答案
按热度按时间djp7away1#
如果我没理解错的话,您希望当前日期是星期六或星期日,那么作为命令行参数传递的输入日期应该是date - 1 day或date - 2 days。
因此,如果今天的日期(11/23/2022)在星期一到星期五经过,它将按原样返回日期,但如果同一日期在星期六经过,它将返回11/22/2022。
要执行从当前日期减去天数的操作,您需要use time delta。
这是我根据对您所提问题的假设提出的解决方案
输出
如果你想看到日期的变化,只需手动设置weekno为5或6进行测试。