欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python自带time库吗_Python的内置库time

发布时间:2024/10/5 python 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python自带time库吗_Python的内置库time 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

工作中经常需要对时间进行获取,处理和格式化,我们可以使用Python内置的time库来解决这些问题。

时间戳

时间戳,表示从1970年1月1日0点0分0秒到现在的时间经过了多少秒。

import timecur_time = time.time()print(cur_time)# 等待time.sleep(3)# 检查等待前后过去的时间now_time = time.time()print(now_time)go_time = now_time - cur_timeprint('等待前后过去了:{}秒!'.format(go_time))

运行结果:

1600246971.35530541600246974.35551等待前后过去了:3.000204563140869秒!

格式化

time.time()的结果是浮点数对象

格式化显示本地时间:

import time'''格式化当前时间 年-月-日 时:分:秒%X表示本地时间%Y表示年,%m表示月,%d表示日'''print(time.strftime("%Y-%m-%d %X"))

运行结果:

2020-09-16 17:11:04

更详细的显示本地时间:

import time'''格式化当前时间 年-月-日 时:分:秒 上下午 星期'''print(time.strftime("%Y-%m-%d %X %p %A"))

运行结果:

2020-09-16 17:13:21 PM Wednesday

结构化

time.localtime()的结果是struct_time对象

结构化时间对象的9个属性分别是年月日时分秒,本月第几周,本年第几天和夏令时。

import timesct_time = time.localtime()print(sct_time)# 结构化表示当地时间# 格式为:年-月-日 时:分:秒 本月几周 本年第几天 夏令时print('{}-{}-{} {}:{}:{} 本月第{}周 本年第{}天 夏令时:{}'.format(sct_time.tm_year,sct_time.tm_mon,sct_time.tm_mday,sct_time.tm_hour,sct_time.tm_min,sct_time.tm_sec,sct_time.tm_wday,sct_time.tm_yday,sct_time.tm_isdst))

运行结果:

2020-9-16 17:36:12 本月第2周 本年第260天 夏令时:0

相互转换

结构化时间 --> 时间戳

import timesct_time = time.localtime()print('当前结构化时间:{}'.format(sct_time))# struct2format mktimestr_time = time.time()print('当前时间戳:{}'.format(str_time))print('转换后的时间戳:{}'.format(time.mktime(sct_time)))

运行结果:

当前结构化时间:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=22, tm_min=37, tm_sec=25, tm_wday=3, tm_yday=261, tm_isdst=0)当前时间戳:1600353445.3574238转换后的时间戳:1600353445.0

时间戳 --> 结构化时间

import timesct_time = time.localtime()print('当前结构化时间:{}'.format(sct_time))# struct2format mktimestr_time = time.time()print('当前时间戳:{}'.format(str_time))print('转换后的结构化时间:{}'.format(time.gmtime(str_time)))print((time.gmtime(str_time).tm_zone))print('转换后的结构化时间:{}'.format(time.localtime(str_time)))

运行结果:

当前结构化时间:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=22, tm_min=42, tm_sec=53, tm_wday=3, tm_yday=261, tm_isdst=0)当前时间戳:1600353773.0630054转换后的结构化时间:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=14, tm_min=42, tm_sec=53, tm_wday=3, tm_yday=261, tm_isdst=0)UTC转换后的结构化时间:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=22, tm_min=42, tm_sec=53, tm_wday=3, tm_yday=261, tm_isdst=0)

你应该已经注意到,时间戳转换结构化时间有两个方法gmtime和localtime,其中gmtime表示标准时间,而localtime是加了时区后的时间,所以当前localtime比gmtime快8小时,这就是+8区的原因。

简单的字符串时间获取方式:

print(time.ctime()) # 当前时间的字符串形式,相当于把当前结构化时间用asctime方法格式化print(time.asctime(time.localtime()))

结果:

Thu Sep 17 22:48:48 2020Thu Sep 17 22:48:48 2020

datetime模块

datetime是对time模块的封装, 用起来更加简单,方便。

以下介绍几种常用的方法:

import datetimecurrent_time = datetime.datetime.now()print('time:',current_time)utc_time = datetime.datetime.utcnow()print('utc time:',utc_time)current_day = datetime.datetime.today()print('local time:',current_day)print('今年是哪一年?答:',datetime.datetime.today().year)print('今天属于那一月?答:',datetime.datetime.today().month)print('今天是本月第几天?答:',datetime.datetime.today().day)print('从0001年1月1日到今天过去了多少天?答:',datetime.datetime.today().toordinal())print('今天是礼拜几?答:',datetime.datetime.today().isoweekday())

运行结果:

time: 2020-09-17 23:10:54.315267utc time: 2020-09-17 15:10:54.315267local time: 2020-09-17 23:10:54.316267今年是哪一年?答:2020今天属于那一月?答:9今天是本月第几天?答:17从0001年1月1日到今天过去了多少天?答:737685今天是礼拜几?答:4

更多用法可以查看源码进行学习。

好文!必须在看

总结

以上是生活随笔为你收集整理的python自带time库吗_Python的内置库time的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。