time模块函数说明

 time模块,时间格式有三种:

  1、timestamp--------时间戳,时间戳是从1970年1月1日00:00:00开始按秒计算的偏移量(用于程序计算)

  2、struct_time-------时间元组,共有九个元素组。

  3、format time-------把时间格式化成字符串(方便我们看懂)。

下面将详细说明。


 

1.timestamp-----时间戳

import time

a = time.time()
print(a)

输出:1641121491.4943612

这个就是时间戳。


 

2.struct_time-------时间元组

 共有9个元素 

索引(Index)

属性(Attribute)

值(Values)

0

tm_year(年)

比如2011

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

6

tm_wday(weekday)

0 - 6(0表示周日)

7

tm_yday(一年中的第几天)

1 - 366

8

 tm_isdst(是否是夏令时)

 默认为-1

   

1)time.localtime([secs]):将时间戳,转换为9个时间元组。

  secs参数:可以不写,会以当前时间为准。

import time

a = time.localtime()                #不写参数,python默认传入当前时间戳
b = time.localtime(time.time())     #参数为一个时间戳,上面函数相当于执行了它。
c = time.localtime(1641121491.4943612)  #当然,我们也可以自己传入一个时间戳
print(a)
print(b)
print(c)

 a,b输出:

time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=32, tm_sec=24, tm_wday=6, tm_yday=2, tm_isdst=0)
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=32, tm_sec=24, tm_wday=6, tm_yday=2, tm_isdst=0)

——a,b是相同的

c输出:

time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=4, tm_sec=51, tm_wday=6, tm_yday=2, tm_isdst=0)

这个是自己定义的

 

我们也可以单独输出,例如

import time

a = time.localtime()        #不写参数
print(a)                    #显示9个元组
print(a[0:])                #只显示值
print(a[3:5])               #只截取tm_hour(时)和 tm_min(分)的值

time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=45, tm_sec=34, tm_wday=6, tm_yday=2, tm_isdst=0)
(2022, 1, 2, 19, 45, 34, 6, 2, 0)
(19, 45)

 

线程中常用的一个函数:time.sleep(secs)   线程推迟指定的时间运行。secs参数单位为秒。


3.format time-------把时间格式化成字符串

1.time.asctime([t]):     把时间元组转字符串(无参数时,默认传入time.localtime(),它返回当前:时间元组)

2.time.ctime([secs]):  把时间戳转字符串(无参数时,默认传入time.time(),它返回当前:时间戳)

import time

b = time.ctime()        # 默认传入time.localtime(),即9个元素
a = time.asctime()      # 默认传入time.time(),即一个float值

print(a)
print(b)

a,b的输出是一样的,如下:

Sun Jan 2 20:04:49 2022
Sun Jan 2 20:04:49 2022

 

3.time.strftime(format[, t]):   # 我最喜欢用它了。

把一个代表时间的元组转化为我们想要的字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。 

import time

a = time.strftime("%Y-%m-%d %X", time.localtime())
print(a)

输出:

2022-01-02 20:14:31

 

具体参数如下:

格式

含 义

备 注

%a

本地(locale)简化星期名称

 

%A

本地完整星期名称

 

%b

本地简化月份名称

 

%B

本地完整月份名称

 

%c

本地相应的日期和时间表示

 

%d

一个月中的第几天(01 - 31)

 

%H

一天中的第几个小时(24小时制,00 - 23)

 

%I

第几个小时(12小时制,01 - 12)

 

%j

一年中的第几天(001 - 366)

 

%m

月份(01 - 12)

 

%M

分钟数(00 - 59)

 

%p

本地am或者pm的相应符

1

%S

秒(01 - 61)

2

%U

一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。

3

%w

一个星期中的第几天(0 - 6,0是星期天)

3

%W

和%U基本相同,不同的是%W以星期一为一个星期的开始。

 

%x

本地相应日期

 

%X

本地相应时间

 

%y

去掉世纪的年份(00 - 99)

 

%Y

完整的年份

 

%Z

时区的名字(如果不存在为空字符)

 

%%

‘%’字符

 

备注:

1.     “%p”只有与“%I”配合使用才有效果。

2.     文档中强调确实是0 - 61,而不是59,闰年秒占两秒(汗一个)。

3.     当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。

 

posted @   note122  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示