python time 模块

本文介绍了Python中时间的三种格式:时间戳、时间结构体和字符串格式,包括time模块下的各种函数如time.time(),localtime(),strftime(),strptime()以及它们之间的转换过程。
摘要由CSDN通过智能技术生成
  • 时间的三种格式
  • time模块中的其他函数
  • 时间三种格式之间的转化

  • 一,时间的三种模块

在python中对于时间的描述存在三种格式:1,时间戳,2,时间结构体 3,按某种格式形式展示的字符串

1,时间戳

import time
print(time.time())

1698237679.3519173

 2,时间结构化

# ocaltime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,
#                         tm_sec,tm_wday,tm_yday,tm_isdst)

import time

res = time.localtime(time.time())

print(res)

time.struct_time(tm_year=2023, tm_mon=10, tm_mday=25, tm_hour=20, tm_min=44, tm_sec=0, tm_wday=2, tm_yday=298, tm_isdst=0) 

相应的解释:

tm_yeat     --->> 年

tm_mon     --->> 月

tm_mday   --->> 日

tm_hour    --->> 时 

tm_min     --->> 分

tm_sec     --->> 秒

tm_wday  --->> 一周的第几天 ,外国人星期一是第0天,所以这里表示的是星期三

tm_yday   --->> 一年中的第几天

tm_isdst   --->> 是否是夏令时(可能是跟二战时的有关,但是不重要)

3,按某种格式的字符串格式的时间(普遍用到的,给人以清晰感) 

# def strftime(format: str, t: _TimeTuple | struct_time = ...) -> str: ...
# 从解释上看,传入的参数需要为格式format

print(time.strftime('%Y-%m-%d %H:%M:%S %p'))

2023-10-25 20:54:15 PM 

格式讲解: 

%y     两位数的年份表示(00-99)
%Y     四位数的年份表示(000-9999)
%m     月份(01-12)
%d     月内中的一天(0-31)
%H     24小时制小时数(0-23)
%I     12小时制小时数(01-12)
%M     分钟数(00=59)
%S     秒(00-59)
%a     本地简化星期名称
%A     本地完整星期名称
%b     本地简化的月份名称
%B     本地完整的月份名称
%c     本地相应的日期表示和时间表示
%j     年内的一天(001-366)
%p     本地A.M.或P.M.的等价符
%U     一年中的星期数(00-53)星期天为星期的开始
%w     星期(0-6),星期天为星期的开始
%W     一年中的星期数(00-53)星期一为星期的开始
%x     本地相应的日期表示
%X     本地相应的时间表示
%Z     当前时区的名称
%%     %号本身

 二,time模块中的其他函数

mktime()函数,通过下面的解释可以看出,mktime函数需要传的参数为结构化的时间,然后返回的是一个浮点数。也就是一个时间戳。 

def mktime(t: _TimeTuple | struct_time) -> float: ...

localtime()函数,通过下面的解释可以看出,localtime函数需要传入的参数为秒,也就是一个时间戳,然后返回的是一个结构化时间。localtime函数返回的结构化时间显示的是当地时间,也就是东八区时间。

def localtime(secs: float | None = ...) -> struct_time: ... 

gmtime()函数,通过下面的解释可以看出,gmtime函数需要传入的参数为秒,也就是一个时间戳,然后返回的是一个结构化时间。但是gmtime函数返回的结构化时间显示的国际标准时间。 

 def gmtime(secs: float | None = ...) -> struct_time: ...

asctime()函数,传入的参数为一个结构化时间,然后返回的是一个字符串格式的时间。

 当没有参数传递的时候,会将我们所在的东八区的时间传入当作参数。

def asctime(t: _TimeTuple | struct_time = ...) -> str: ... 

 strptime()函数,传递一个字符串格式的时间,然后返回一个结构化时间。

def strptime(string: str, format: str = ...) -> struct_time: ... 

三,时间三种格式之间的转化

上图讲解,三种时间格式之间的转化就很明晰了。那么上代码看结构。

import time

format_time = time.strftime('%Y-%m-%d %H:%M:%S') # 打印字符串格式时间
print(format_time)
ret = time.strptime(format_time,'%Y-%m-%d %H:%M:%S') # 将字符串格式时间转化为结构化时间格式

res = time.mktime(ret) + 7*86400  # 打印7天后的时间

ret = time.strftime('%Y-%m-%d %H:%M:%S',(time.localtime(res)))
print(ret)

 2023-10-25 21:24:01
time.struct_time(tm_year=2023, tm_mon=10, tm_mday=25, tm_hour=21, tm_min=24, tm_sec=1, tm_wday=2, tm_yday=298, tm_isdst=-1)
2023-11-01 21:24:01
请按任意键继续. . .

完成时间三种格式之间的转化。

 

这张图显示的是asctime()函数和ctime()函数怎么用的。 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遇见陌生人了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值