Python中的time模块和calendar模块
目录
- 1、时间戳
- 2、时间元组
- 3、获取当前时间
- 4、格式化时间
- 5、格式化日期
- 6、获取CPU时间
- 7、日历模块
在Python
中对时间和日期的处理方式有很多,其中转换日期是最常见的一个功能。Python
中的时间间隔是以秒为单位的浮点小数。
1、时间戳
Python
中基本都是以时间戳来保存当前时间的。时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX
和Windows
只支持到2038
年。
时间戳是指格林威治时间1970年01月01日00时00分00秒起至当下的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间。
Python
中使用time
模块的time
函数来获取当前的时间戳
示例代码:
import time time_stamp = time.time() print("当前的时间戳为:", time_stamp) # 当前的时间戳为: 1590585400.6808906
2、时间元组
Python
中的很多函数都是用一个元组装起来9组数字来处理时间。
3、获取当前时间
从返回的时间戳转变为时间元组可以使用time
模块的localtime()
函数; time.gmtime([secs])
也返回一个时间元组
示例代码:
import time time_stamp = time.time() # 获取当前时间戳 localtime = time.localtime(time_stamp) print(localtime) # time.struct_time(tm_year=2020, tm_mon=5, tm_mday=27, tm_hour=21, tm_min=36, tm_sec=42, tm_wday=2, tm_yday=148, tm_isdst=0)
4、格式化时间
可以使用time
模块的asctime
函数将时间元组格式化为最简单的可读模式,不给参数的话表示当前时间
time.ctime([secs])
此参数接受时间戳为单位,返回日期的可读模式,不给参数相当于time.asctime()
示例代码:
import time time_stamp = time.time() localtime = time.asctime(time.localtime(time_stamp)) print("当前时间为:", localtime) # 当前时间为: Wed May 27 21:47:48 2020
5、格式化日期
Python中的日期格式化符号:
time mktime
(结构化的时间或者完整的9位元组元素) 函数执行与gmtime()
, localtime()
相反的操作,它接收struct_time
对象作为参数,返回用秒数来表示时间的浮点数。如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError
。
示例代码:
import time time_stamp = time.time() print(time_stamp) # 1590590683.0062041 # 4位数的年份-月份-天数 24小时制:分钟:秒 周几 今年的第几天 localtime = time.strftime("%Y-%m-%d %H:%M:%S %A %j", time.localtime(time_stamp)) print(localtime) # 2020-05-27 22:44:43 Wednesday 148 # 转变为时间元组 localtime_tuple = time.strptime(localtime, "%Y-%m-%d %H:%M:%S %A %j") print(localtime_tuple) # time.struct_time(tm_year=2020, tm_mon=5, tm_mday=27, tm_hour=22, tm_min=44, tm_sec=43, tm_wday=2, tm_yday=148, tm_isdst=-1) # 将时间元组转换为秒(时间戳) time_stamp = time.mktime(localtime_tuple) print(time_stamp) # 1590590683.0 # 与一开始获取的基本相等
6、获取CPU时间
time.perf_counter()
返回计时器的精准时间(系统的运行时间),包含整个系统的睡眠时间。由于返回值的基准点是未定义的,所以,只有连续调用的结欧洲服务器http://www.558idc.com/helan.html果之间的差才是有效的。
time.process_time()
返回当前进程执行 CPU
的时间总和,不包含睡眠时间。由于返回值的基准点是未定义的,所以,只有连续调用的结果之间的差才是有效的。
time.sleep()
函数推迟调用线程的运行,可通过参数secs
指秒数,表示进程挂起的时间。
示例代码:
import time # 获取系统运行该函数的时间 print(time.perf_counter()) # 0.0208446 time.sleep(2) # 读取系统运行该函数的时间, print(time.perf_counter()) # 2.0208952 # 两者的差距微乎其微 # 获取当前进程执行 CPU 的时间总和 print(time.process_time()) # 0.015625 # 不包含睡眠时间
7、日历模块
Calendar
日历模块,此模块中的函数都是日历相关的,例如打印某月的字符月历
import calendar # 打印今年的年历 print(calendar.calendar(2020)) # 打印本月的月历 print(calendar.month(2020, 5)) # monthrange方法 print(calendar.monthrange(2020, 5)) # (4, 31) # 5月份的第一天是周五一共31天,因为周一是0所以4是周五 # 计算1000年到2000年的闰年总数 print(calendar.leapdays(1000, 2000)) # 242 # 判断今年是否为闰年 print(calendar.isleap(2020)) # True
time.strftime(fmt[,tupletime])
接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt
的格式把一个时间字符串解析为时间元组。
到此这篇关于Python
中的time
模块和calendar
模块的文章就介绍到这了,更多相关Python time
模块和calendar
模块内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!