python问题:如何将数字转换为其相关的星期几?

这篇博客探讨了如何在Python中将数字日期转换为对应的星期,并以特定格式打印。提供了三种解决方案:使用字典映射,利用calendar模块,以及通过datetime模块的strftime方法。每种方法都详细解释了实现过程,展示了如何从日期中获取星期几,并将其整合到输出字符串中。
摘要由CSDN通过智能技术生成

前言

如何将数字转换为其相关的星期几?

例如:

def string(hour_of_day, day_of_week, date) :
   print(f'{day_of_week} {date} at hour {hour_of_day}')

如何重新编写“day_of_week”部分,print以便在使用该功能时:

string(12, 1, '2020/02/18') 

我怎样才能得到Tuesday 2020/02/18 at hour 12而不是1 2020/02/18 at hour 12

解决思路一

使用字典

daysdict = { 1: 'Monday', 2: 'Tuesday'} 延长了所有的日子

然后使用daysdict[1]

尽管您的第一天似乎是星期二!

可以直接从日期本身获取日期 - 供您查看。

解决思路二

import calendar

day_of_week = 1
calendar.day_name[day_of_week]
## 'Tuesday'

日历模块在 Python 中始终可用(它属于内置标准模块)。

所以字典{0: "Monday", 1: "Tuesday", ...}已经定义为calendar.day_name. 所以不需要自己定义。而是键入import calendar,您可以使用它。

使用datetime模块直接从日期获取工作日

from datetime import datetime

def date2weekday(date):
    return datetime.strptime(date, "%Y/%m/%d").strftime('%A')

def myfunction(hour_of_day, date):
    return f"{date2weekday(date)} {date} at hour {hour_of_day}"

myfunction(12, '2020/02/18') 
## 'Tuesday 2020/02/18 at hour 12'

 解决思路三

可以使用 datetime 对象中的 strftime 方法:

import datetime

print(datetime.datetime(2022, 10, 21).strftime('%A %Y/%m/%d'))

这会给你这个答案:

Friday 2022/10/21

要使其适应问题的解决方案,只需执行以下操作:

from datetime import datetime

def string(hour_of_day, date):
    print(f'{date.strftime('%A %Y/%m/%d')} at hour {hour_of_day}')

string(12, datetime(year=2022, month=10, day=21))

这个解决方案的好处是你不需要知道日期的星期几,Python 已经知道了,只要问它即可

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快撑死的鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值