【问题标题】:Get day name from starting date从开始日期获取日期名称
【发布时间】:2019-10-15 10:25:46
【问题描述】:

我正在开发一个课程应用程序。在我的应用中,如果学生注册新课程,教师必须输入学生的开始课程日期。

在这个应用程序中,学生可以选择他们想向老师学习的那一天。 例如:学生想每周学习 3 天,周一、周二和周五。

而且学生上学的那一天,他们必须在当天向老师付款。

所以,我希望我的应用能够自动显示学生必须在哪一天向老师支付学费。

这里我需要的是:如果老师输入的开课日期是 20-10-2019(%d-m-Y%),学生上课的日子是星期一、星期二和星期五,我想在每周的选定日期打印:print('please, pay it')。

所以,我想要这样的东西:

import datetime

starting_course_date = datetime.datetime.strptime("20-10-2019", "%d-%m-%Y")

student_taking_days = [{'day': 'Monday'}, {'day': 'Tuesday'}, {'day': 'Friday'}]
today = datetime.datetime.utcnow()

if today > starting_course_date and today is one of day on the student_taking_days:
    print('please, pay it')

请,任何答案、来源或参考教程将不胜感激:)

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 对不起,我已经编辑了我的问题@DovRine

标签: python-3.x datetime python-datetime python-dateutil


【解决方案1】:

您可以获得今天的工作日。更多信息here

import datetime
weekday = datetime.datetime.today().weekday()
if (weekday in [0, 1, 4]): // 0 is monday, 1 is tuesday and 4 is friday
    print('please, pay it')

您的活动可以使用strftime 像这样获得日期名称:

weekday_name = weekday.strftime("%A")
if (weekday_name in ['Monday', 'Tuesday', 'Friday']):
    print('please, pay it')

【讨论】:

  • 非常感谢 :)
【解决方案2】:
 weekday = today.weekday()

这给出了从星期一 = 0 开始的整数形式的结果。

您可以在“if”语句中直接使用此变量。

if weekday == 0 or weekday == 1 or weekday == 4:
    print('please, pay it')

【讨论】:

  • 感谢您为回答我的问题所做的贡献,我已投票支持您的:)
猜你喜欢
  • 2015-02-24
  • 1970-01-01
  • 2012-01-12
  • 2021-08-21
  • 2015-10-21
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多