【每日一题】LeetCode 1185.一周中的第几天

该博客介绍了两种Python实现方式,通过datetime模块来确定给定日期是星期几。示例展示了输入2019年8月31日会得到结果'周六'。这两种方法都是将日期转换为datetime对象,然后计算与1971年1月1日之间的天数差,并根据模7的余数映射到星期几。

题目

给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。

输入为三个整数:day、month 和 year,分别表示日、月、年。

您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”}。

示例

输入:day = 31, month = 8, year = 2019
输出:“Saturday”

代码

版本1

class Solution:
    def dayOfTheWeek(self, day: int, month: int, year: int) -> str:
        from datetime import datetime
        res={2:"Sunday", 3:"Monday", 4:"Tuesday", 5:"Wednesday", 6:"Thursday", 0:"Friday", 1:"Saturday"}
        start = datetime(1971, 1, 1)
        days=(datetime(year, month, day)- start).days
        return res[days%7]

版本2

class Solution:
    def dayOfTheWeek(self, day: int, month: int, year: int) -> str:
            from datetime import datetime
            x = datetime(year, month, day)
            return x.strftime("%A")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值