前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蓝桥杯time模块常用操作

蓝桥杯time模块常用操作

作者头像
@小森
发布2024-03-15 11:08:48
830
发布2024-03-15 11:08:48
举报
文章被收录于专栏:xiaosenxiaosen
代码语言:javascript
复制
#导入time模块import time
#获取时间戳
start_time = time.time ()
print ( "start_time = ", start_time)
time .sleep ( 3)
end_time = time.time ()
print ( "end_time = ", end_time)#计算运行时间
print("运行时间= { :.0f } ".format(end_time - start_time))

代码语言:javascript
复制
# 获取本地时间
import time

t = time.localtime()  # 返回本地时间,是一个struct_time对象,struct_time对象之间不可以加减
print(t)
print('年份:',t.tm_year)
print('月份:',t.tm_mon)
print('日期:',t.tm_mday)
print('小时:',t.tm_hour)
print('分钟:',t.tm_min)
print('秒:',t.tm_sec)
print('一周的第一日:',t.tm_wday)
print('一年的第几日:',t.tm_yday)

结果:
年份: 2023
月份: 12
日期: 18
小时: 11
分钟: 51
秒: 14
一周的第一日: 0
一年的第几日: 352

格式化日期:

代码语言:javascript
复制
# 获取本地时间
import time

t = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(type(t))
print(t)

t=time.strptime(t,'%Y-%m-%d %H:%M:%S')   # 第一个参数就是返回的类型
print(type(t))
print(t)

<class 'str'>
2023-12-18 12:02:27
<class 'time.struct_time'>
time.struct_time(tm_year=2023, tm_mon=12, tm_mday=18, tm_hour=12, tm_min=2, tm_sec=27, tm_wday=0, tm_yday=352, tm_isdst=-1)

datatime模块

datetime模块支持日期和时间的运算,包含下面四种数据:

date:日期

time:时间

datetime:日期时间

timedelta: 时间间隔

date日期类

传递年月日

代码语言:javascript
复制
a = datetime.date(2023, 12, 18)
print(type(a))
print(a)

<class 'datetime.date'>
2023-12-18

日期减法操作( 支持与另一个date比较 )   date与date减得到timedelta

代码语言:javascript
复制
a = datetime.date(2023, 12, 18)
b = datetime.date(2023, 11, 9)
print(type(a - b))
print(a - b)

<class 'datetime.timedelta'>
39 days, 0:00:00

time时间类

传递时分秒

代码语言:javascript
复制
a = datetime.time(10, 25, 30)
print(type(a))
print(a)

<class 'datetime.time'>
10:25:30

支持与另一个time判断,time之间不支持进行加减法,需要转换成datetime进行。

datetime日期时间类

定义datetime:传递年、月、日、时、分、秒

代码语言:javascript
复制
a = datetime.datetime(2023, 12, 18, 10, 25, 30)
print(type(a))
print(a)
print(a.date())
print(a.time())

<class 'datetime.datetime'>
2023-12-18 10:25:30
2023-12-18
10:25:30

timedelta类

时间差:表示两个datetime对象之间的间隔。

用days、seconds、microseconds(微秒)三个变量存储时间间隔定义时可以传入: weeks、days、hours、minutes、seconds 、milliseconds(毫秒) 、 microseconds,然后自动转换成上述三个变量datetime与timedelta进行加减得到新的datetime。

datetime之间进行减法.得到timedelta

代码语言:javascript
复制
a = datetime.datetime(2023, 12, 18, 10, 25, 30)
delta = datetime.timedelta(days=100)  # 间隔值
# 计算100天之后的日期
b = a + delta
print(b)
# 计算100天前的日期
b = a - delta
print(b)

# 结果
2024-03-27 10:25:30
2023-09-09 10:25:30
代码语言:javascript
复制
a = datetime.datetime(2023, 12, 18, 10, 25, 30)
b = datetime.datetime(2024, 3, 1, 11, 25, 30)
delta = b - a
print(delta)
# 输出时间差的天数
print(delta.days)
# 输出秒数
print(delta.seconds)
# 统一转换成秒
print(delta.total_seconds())

# 结果
74 days, 1:00:00
74
3600
6397200.0

例题:

计算从1901年1月1日到2000年12月31日存在多少个星期1。

利用date数据类型的weekday方法判断是否为周一利用timedelta不断增加1天

代码语言:javascript
复制
import datetime

start = datetime.date(1901, 1, 1)
end = datetime.date(2000, 12, 31)
ans = 0
while start < end:
    if start.weekday() == 0:
        ans += 1
    start += datetime.timedelta(days=1)
print(ans)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档