【Python训练营】Python每日一练----第20天:星期一(datetime模块应用)

举报
是Dream呀 发表于 2022/02/15 22:43:32 2022/02/15
【摘要】 📢📢📢📣📣📣 🌻🌻🌻Hello,大家好我叫是Dream呀,一个有趣的Python博主,多多关照😜😜😜 🏅🏅🏅2021年度博客之星TOP100,2021年度博客之星领...

在这里插入图片描述

📢📢📢📣📣📣
🌻🌻🌻Hello,大家好我叫是Dream呀,一个有趣的Python博主,多多关照😜😜😜
🏅🏅🏅2021年度博客之星TOP100,2021年度博客之星领域TOP5,Python领域优质创作者,欢迎大家找我合作学习(文末有VX 想进学习交流群or学习资料 欢迎+++)
💕入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!🚀🚀🚀
💓最后,愿我们都能在看不到的地方闪闪发光,一起加油进步🍺🍺🍺
🍉🍉🍉“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~🌈🌈🌈
🌟🌟🌟✨✨✨

前言:【Python训练营】是针对Python语言学习所打造的一场刷题狂欢party! 对基础知识把握不牢固的话,欢迎参考此套课程:Python公开课 搭配使用最佳嗷~喜欢的话就抓紧订阅起来吧!🍋🍋🍋如果对学习没有自制力或者没有一起学习交流的动力,欢迎私信或者在文末添加我的VX,我会拉你进学习交流群,我们一起交流学习,报团打卡

题目描述

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

整个 2020 世纪(19011901 年 11 月 11 日至 20002000 年 1212 月 3131 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)

运行限制
最大运行时间:1s
最大运行内存: 128M

  
 
  • 1
  • 2
  • 3

解题思路

  • datetime模块中的date函数获取日期,分别获取首末的两个日期:start = date(1901, 1, 1) -end = date(2001, 1, 1)
  • timedelta(1)函数,中的1为变量表示,明天的意思,即每次循环之后,让start的日期变为后一天的:start += temp

源码分享

# Time    : 2022/2/13 22:56
# File    : 星期一.py
# Author  : 是Dream呀!
# VX      : Xu18300396393
# 一万次悲伤,依然会有Dream,我一直在最温暖的地方等你!
from datetime import *
start = date(1901, 1, 1)  # 1901-01-01
# print(start)
end = date(2001, 1, 1)
temp = timedelta(days=1)
n = 0
while start != end:
    if start.weekday() == 0:
        n += 1
    start += temp
print(n)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

学习总结

datetime模块的一些用法如下:

from datetime import datetime
from datetime import timedelta
import time

# 1) 获取当前日期和时间
now_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")	#  此时时间年月日时分秒
now_time = time.strftime("%Y-%m-%d %H:%M:%S")	#  此时时间年月日时
today = datetime.today()    # 返回当前时间时分秒都为0
print("当前时间")
print(today)
today1 = datetime.now()  # 返回当前日期和时间
now.hour # 时
now.minute # 分
now.isoweekday()# 返回的1-7代表周一--周日;
now.weekday()# 返回的0-6代表周一--到周日
# 而标准格式种%w 1-6表示周一--周六,0代表周日
print( today1 )
today2 = datetime.utcnow()  # 返回当前东八区时间就是比当时时间少8个小时
print(today2)


# 2) 获取指定日期和时间,加减计算
time= datetime(2019, 5, 12, 12, 13, 14)
d= time + timedelta(weeks=0, days=0, hours=0, minutes=0,  seconds=0, milliseconds=0, microseconds=0, )		
#依次为 "周" "天", "时","分","秒","毫秒","微秒"
print(time)
print(d)

time1= "2019-5-12 12:13:14"		# 字符串 日期
d1 = datetime.strptime(str(time1),'%Y-%m-%d %H:%M:%S')
plus= d1 + timedelta(days=1)		# 加
minus = d1 - timedelta(days=1)		# 减
print(time1)
print(d1)
print(plus)
print(minus )

time2= 20190512121314
d2 = datetime.strptime(str(time2),'%Y%m%d%H%M%S')
delta = d2  + timedelta(days=1)
print(time2)
print(d2 )
print(delta)

# 3) 日期datetime-timestamp 时间戳相互转
now_stamp = time.timestamp()
print('指定时间对应时间戳 :', now_stamp)

print('对应本地时间 :', datetime.fromtimestamp(now_stamp ))
print('UTC标准时间 :', datetime.utcfromtimestamp(now_stamp ))
print('本周的第几天:', datetime.fromtimestamp(now_stamp ).weekday())


# 4) datetime 时间 转换为str字符串
now = datetime.now()
print('当前时间 :', now)
print(now.strftime('%Y%m%d%H%M%S'))


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

🏅今天是我在Python训练营的第 20 天,希望每天都能见到最棒的你🏅

🏆往期文章----好文推荐🏆

🥇 [Python公开课]零基础玩转Python基础篇----第一节:Python的自我介绍

🥈 [Python公开课]零基础玩转Python进阶篇----第一节:Python中的文件操作

🥉 快来一场一场刷题狂欢的party吧!----【Python训练营】
🌲🌲🌲 好啦,这就是今天要分享给大家的全部内容了
❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了~
在这里插入图片描述
在这里插入图片描述

文章来源: xuyipeng.blog.csdn.net,作者:是Dream呀,版权归原作者所有,如需转载,请联系作者。

原文链接:xuyipeng.blog.csdn.net/article/details/122915904

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。