返回2017年的一天(“ Mon”,“ Tues”,“ Wed”等)

时间:2019-06-23 00:42:22

标签: python python-3.x

2017年1月1日是星期日。 九月有三十天, 四月,六月和十一月。 其余的都三十一个 仅保存2月, 其中有28个,无论风雨无阻。 在leap年,是二十九。 any年发生在任何可被4整除的年份,但不会发生在一个世纪中,除非将其整除为400。

我之前已获得此信息。 我应该编写一个程序,以在给定输入参数日期和月份的情况下返回2017年的一天(例如,Sun,Mon,Tue等)。

months = ["Jan","Feb","March", "April", "May", "June", "July", "September", "October", "November", "December"]
days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]        

def whatday(date,mth):

    mth1 = []

    day1 =[]

    counter=0

    for mths in months:
        enqueue(mth1, mths)
        for day in days:
            enqueue(day1,day)
        for counter in range(1, daysofthemonth(mths)+1):
            if counter == date and mths==mth:
                curr_day = dequeue(day1)
                break
            if counter == daysofthemonth(mths):
                dequeue(day1)
                dequeue(mth1)
                counter = 0
            if len(day1)==0:
                for day in days:
                    enqueue(day1,day)
            else:
                dequeue(day1)

    return curr_day

我的代码适用于一月的第一周,但以后将返回None。

1 个答案:

答案 0 :(得分:0)

尝试:-

import time

date = "1"
month = "1"

date_month = date + "-" + month

day_obj = time.strptime(date_month + "-2017", "%d-%m-%Y")

day = time.strftime("%a", day_obj)

print(day)

输出:-

Sun

您可以将工作留给python,而不是创建日期计算器。为此,请使用timedatetime模块。

P.S。:-:当前程序输出缩写的工作日名称。如果您需要完整的工作日名称,请使用%A而不是%a