【python】时间和日期

时间截

时间截(timestamp),能表示一份数据在某个特定的时间之前已经存在的,完整的,可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。时间截是值格里尼治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00秒)到现在的总秒数。

时间截在电子商务,金融活动上有着广泛的应用,可以用来支撑公开密钥基础设施的“不可否认”服务,它是一个经加密形成的凭证文档,包含三部分:需加时间截的文件地摘要,解码时间截(DTS)收到文件的日期和时间,DTS的数字签名。

一般的产生过程:用户将需要加时间截的文件用Hash编码加密形成摘要,接着将该摘要发送到DTS,DTS在加入了文件摘要的日期和时间信息后再对该文件加密(数字签名)。最后送回给用户。

time

time函数

该函数用于返回当前时间的时间截,返回的数据类型是浮点数

import time

now=time.time()
print("the time is:%f"%now)
the time is:1723887142.175678

localtime函数

localtime是将时间截格式化为本地时间,返回struct_time对象。localtime函数有一个参数用于接收时间截,如果调用函数时不提供时间截,localtime会默认使用当前的时间截

import time

print('当前时间',time.localtime())
print("0时间截所对应的时间",time.localtime(0))
当前时间 time.struct_time(tm_year=2024, tm_mon=8, tm_mday=17, tm_hour=21, tm_min=18, tm_sec=30, tm_wday=5, tm_yday=230, tm_isdst=0)
0时间截所对应的时间 time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

从这个例子的编译结果来看,localtime返回的就是struct_time类型。

mktime函数

mktime接收struct_time对象作为参数,返回用秒数来表示时间的浮点数。mktime的参数可以是结构化的时间,也可以是完整的九位元组元素

import time

t=(2024,9,12,13,2,1,1,1,0)
sec=time.mktime(t)
print("time.mktime(t):%f"% sec)
print("time.mktime(time.localtime(secs)):%f"%time.mktime(time.localtime(sec)))

运行结果如下

time.mktime(t):1726117321.000000
time.mktime(time.localtime(secs)):1726117321.000000

 从这个样例,我们可以看出mktime可以使用时间元组作为参数,也可以使用time_struct示例作为参数(localtime的返回值为time_struct对象)

gmtime函数

gmtime函数可以将一个时间截转换为UTC时区(0时区)的struct_time,可选的参数sec表示从1970-1-1以来的秒数。gmtime函数的默认值为time.time(),函数返回time.struct_time类型的对象(struct_time是在time模块中定义的表示时间的对象)

import time

import time
print("time.gmtime():",time.gmtime())
print("time.gmtime(0):",time.gmtime(0))

运行结果

time.gmtime(): time.struct_time(tm_year=2024, tm_mon=9, tm_mday=12, tm_hour=5, tm_min=13, tm_sec=10, tm_wday=3, tm_yday=256, tm_isdst=0)
time.gmtime(0): time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

asctime函数 

asctime函数接受时间元组并返回一个可读的形式的24个字符的字符串。asctime函数接收的参数可以是9个元素的元组,也可以是通过函数gmtime()或localtime()返回的时间值(time_struct类型)。

import time

t=(2024,9,12,13,17,1,1,1,0)
print("time.asctime(t)",time.asctime(t))
print("time.asctime(time.localtime())",time.asctime(time.localtime()))

运行结果 

time.asctime(t) Tue Sep 12 13:17:01 2024
time.asctime(time.localtime()) Thu Sep 12 13:19:08 2024

ctime函数

ctime函数能把一个时间截(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给出或者值为none时,将会默认time.time()为参数,它的作用相当于执行asctime(localtime(sec))

import time


print("time.ctime(): % s",time.ctime())
print("time.ctime(0):% s",time.ctime(0))

运行结果

time.ctime(): % s Thu Sep 12 13:34:08 2024
time.ctime(0):% s Thu Jan  1 08:00:00 1970

sleep函数

sleep函数用于推迟调用线程的运行,可通过参数sec指秒数,表示进程挂起的时间。

import time


print("Start:%s"% time.ctime())
time.sleep(9)
print("End:%s"%time.ctime())

运行结果

Start:Thu Sep 12 13:37:59 2024
End:Thu Sep 12 13:38:08 2024

strftime函数

strftime函数用于接收时间元组,并返回可读字符串表示的当地时间,格式由参数format决定

import time


t=(2024,9,12,13,40,1,1,1,0)
t=time.mktime(t)
print(time.strftime("%b %d %Y %H:%M:%S",time.gmtime(t)))

运行结果

Sep 12 2024 05:40:01

strptime函数

这个函数能够根据指定的格式把一个时间字符串解析为时间元组(time_struct对象

import time


struct_time=time.strptime("Sep 12 2024 05:40:01","%b %d %Y %H:%M:%S")
print("返回元组:",struct_time)

运行结果

返回元组: time.struct_time(tm_year=2024, tm_mon=9, tm_mday=12, tm_hour=5, tm_min=40, tm_sec=1, tm_wday=3, tm_yday=256, tm_isdst=-1)

 sprtime函数和timestamp正好是能够互相转换的函数。

总结

本篇文章讲述了python时间与日期当中的time模块的相关函数,后面我们会为大家讲讲python时间当中的其它模块,譬如像,datetime模块,calendar模块,有兴趣的小伙伴们可以持续关注一下这个专栏,谢谢大家的阅读。

  • 16
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值