Python 时间操作time
盆友圈的小可爱 人气:0前言:
我们在日常生活中,都离不开时间和日期。不仅我们的汉字都有大量描述时间日期的词语如斗转星移、分秒必争、只针朝夕、转眼之间等。同样,在我们程序中,我们也离不开时间日期的记录。在Python
高级语言中,内置库提供了time
和datetime
模块进行对时间日期的处理。
1. time 概述
计算机网络时间是以UNIX元年1970年1月1日0点开始的
Python time
模块主要对时间进行访问和转换
time 有三种表现形式:
- 时间戳(
timestamp
):是一个浮点数,可进行加减运算 - 格式化时间字符串(
string_time
):表示常见的时间格式例2021-10-29 - 结构化时间(
struct_time
):包含年月日时分秒的多元元组。
重要说明:
Python time
模块目前只支持2038年。UTC
(世界协调时),也称为格林威治天文时间、世界标准时间DST
夏令时。按照当地时间在某一时间段调快一小时Python time
是不可变类型,只读不能改
2. 格式化时间字符串
格式 | 含义 |
---|---|
%a | 本地星期名称的英文简写(如星期四为Thu) |
%A | 本地星期名称的英文全称(如星期四为Thursday) |
%b | 本地月份名称的英文简写(如八月份为agu) |
%B | 本地月份名称的英文全称(如八月份为august) |
%c | 本地相应的日期和时间的字符串表示(如:15/08/27 10:20:06) |
%d | 本月第几号(01 - 31) |
%f | 微秒(范围0.999999) |
%H | 一天中的第几个小时(24小时制,00 - 23) |
%I | 第几个小时(12小时制,0 - 11 |
%j | 一年中的第几天(001 - 366) |
%m | 月份(01 - 12) |
%M | 分钟数(00 - 59) |
%p | 本地am或者pm标识符 |
%S | 秒 |
%U | 一年中的星期数。(00 - 53星期天是一个星期的开始。) |
%w | 一个星期中的第几天(0 - 6,0是星期天) |
%W | 一年中的星期数(1-54) |
%x | 本地相应日期字符串(如15/08/01) |
%X | 本地相应时间字符串(如08:08:10) |
%y | 去掉世纪的年份(00 - 99)两个数字表示的年份 |
%Y | 完整的年份(4个数字表示年份如2021) |
%z | 与UTC时间的间隔(如果是本地时间,返回空字符串) |
%Z | 时区的名字(如果是本地时间,返回空字符串) |
%% | ‘%'字符 |
3. time 结构化
index | 属性 | 取值范围 |
---|---|---|
0 | tm_year(年) | 例如2021 |
1 | tm_mon(月) | 1~12 |
2 | tm_mday(日) | 1~31 |
3 | tm_hour(时) | 0~23 |
4 | tm_min(分) | 0~59 |
5 | tm_sec(秒) | 0~61(60或61 是闰秒) |
6 | tm_wday(weekday) | 0~6 |
7 | tm_yday(一年中的第几天) | 1~366 |
8 | tm_isdst(是否是夏令时) | -1 |
4. time 相关方法
方法 | 作用 |
---|---|
time.sleep(t) | 睡眠t秒,t可以是浮点数或整数 |
time.time() | 获取当前系统时间戳 |
time.gmtime(sec) | 时间戳转换成UTC的结构化时间,sec 默认time.time()作为参数 |
time.localtime(sec) | 时间戳转换成当前的结构化时间,sec 默认time.time()作为参数 |
time.ctime(sec) | 时间戳转换成本地时间的格式化字符串,sec 默认time.time()作为参数 |
time.asctime(t) | 将结构化时间转换成格式化字符串,time.localtime()作为参数 |
time.mktime(t) | 将结构化时间转换成时间戳 |
time.strftime(format,[t]) | 将结构化时间转换成指定字符串格式的当地时间默认传入time.localtime() |
time.strptime(string,[t]) | 将格式化时间转换成结构化时间 |
time.clock() | 返回执行当前程序的CPU时间 |
5.实操
import time # 获取本地时间戳 stamp = time.time() # 获取本地gmt时间 gmt = time.gmtime() # 获取本地时间 local = time.localtime() # 本地时间格式化 strtime = time.ctime() # 结构化时间转换成格式化字符 asctime = time.asctime() # 将结构化时间转换成时间戳 constamp = time.mktime(local) # 将结构化时间转换成指定字符串格式时间 strf = time.strftime("%Y-%m-%d %H:%M:%S") # 将格式化时间转成结构化时间 str = time.strptime("2021-10-29 21:07:24","%Y-%m-%d %H:%M:%S") print("获取本地时间戳:",stamp) print("获取本地gmt时间:",gmt) print("获取本地时间:",local) print("本地时间格式化:",strtime) print("结构化时间转换成格式化字符:",asctime) print("将结构化时间转换成时间戳:",constamp) print("将结构化时间转换成指定字符串格式时间:",strf) print("将格式化时间转成结构化时间:",str)
6.总结
对time模块中涉及到三种时间格式进行了解和学习,并对常用的time方法进行使用。
time 模块在我们程序中,能帮我们快速查找某一时间点的log详情。
加载全部内容