Python 时间操作time

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python 时间操作time

盆友圈的小可爱   2022-05-24 我要评论

前言:

我们在日常生活中,都离不开时间和日期。不仅我们的汉字都有大量描述时间日期的词语如斗转星移、分秒必争、只针朝夕、转眼之间等。同样,在我们程序中,我们也离不开时间日期的记录。在Python高级语言中,内置库提供了timedatetime模块进行对时间日期的处理。

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详情。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们