Python 常用时间处理模块之time

Python 常用时间处理模块之 time

获取时间

import time
print(time.time())
1662379162.6859071 # 从1970年1月1日0时0分0秒到当前时间点的所有秒数。

看不明白?说人话! → \rightarrow 格式转换

转换为格式化结构体时间对象
time.gmtime() # 返回值是当前格林尼治时间对象
time.localtime() # 返回值是当地时间(也就是北京时间,比格林尼治时间+8小时)对象

以上两个函数的参数只有一个,为浮点数格式的时间戳,默认参数为当前的时间戳。

time.struct_time(tm_year=2022, tm_mon=9, tm_mday=5, tm_hour=12, tm_min=4, tm_sec=24, tm_wday=0, tm_yday=248, tm_isdst=0)
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=5, tm_hour=20, tm_min=5, tm_sec=59, tm_wday=0, tm_yday=248, tm_isdst=0)

tm_year=2022,表示当前是2020年
tm_mon=9,表示当前是9月
tm_mday=5,表示当前是5日
tm_hour=12,表示当前是12时(注意是格林尼治时间,加8小时才是北京时间)
tm_min=4,表示当前是4分
tm_sec=24,表示当前是24秒
tm_wday=0,表示当前是一周的第0天(周日是0,周一是1,周六是6)
tm_yday=248,表示当前是一年的第284天
tm_isdst=0,表示不是夏令时(=1表示是夏令时)

还是过于抽象,继续转为可读性强的字符串
# 把格式化结构体时间转换成格式化字符串时间
print(time.strftime('%Y年%m月%d日%H时%M分%S秒'))
print(time.strftime('%Y年%m月%d日%H时%M分%S秒', time.gmtime(0)))
2022年09月05日20时18分39秒
1970年01月01日00时00分00秒

参数有两个,分别为格式化字符串fmt格式化结构体时间,具体的格式符号请参考附录

此处也可直接使用asctime(),因为asctime()的缺省值为localtime()返回的当前时间。
亦可使用 ctime()ctime() 等价于 asctime(localtime())

可读性强,但是计算麻烦,转回去!(格式化字符串时间格式化结构体时间or时间戳
把时间字符串转换成格式化结构体时间
print(time.strptime('2022年09月05日20时18分39秒', '%Y年%m月%d日%H时%M分%S秒'))
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=5, tm_hour=20, tm_min=18, tm_sec=39, tm_wday=0, tm_yday=248, tm_isdst=-1)

参数有两个,分别为和格式化结构体时间格式化字符串fmt,与strftime恰恰相反。

格式化结构体时间转换为时间戳
time.mktime(time.gmtime(0))
1662352340.0

附录

重要函数
函数描述
time()将时间元组转换为字符串
asctime([t])将时间元组转换为字符串
mktime(t)将时间元组转换为当地时间
ctime([secs]) 将秒转换为字符串
sleep(secs)休眠secs秒
localtime([secs])将秒转换为当地时间的时间元组
strftime(format[, t])将字符串转换为时间元组
gmtime([secs]) 将秒转换为UTC时间的时间元组
格式化符号
格式化符号含意
%a本地化的缩写星期中每日的名称。
%A本地化的星期中每日的完整名称。
%b本地化的月缩写名称。
%B本地化的月完整名称。
%c本地化的适当日期和时间表示。
%d十进制数 [01,31] 表示的月中日。
%H十进制数 [00,23] 表示的小时(24小时制)。
%I十进制数 [01,12] 表示的小时(12小时制)。
%j十进制数 [001,366] 表示的年中日。
%m十进制数 [01,12] 表示的月。
%M十进制数 [00,59] 表示的分钟。
%p本地化的 AM 或 PM 。
%S十进制数 [00,61] 表示的秒。
%U十进制数 [00,53] 表示的一年中的周数(星期日作为一周的第一天)。 在第一个星期日之前的新年中的所有日子都被认为是在第 0 周。
%w十进制数 [0(星期日),6] 表示的周中日。
%W十进制数 [00,53] 表示的一年中的周数(星期一作为一周的第一天)。 在第一个星期一之前的新年中的所有日子被认为是在第 0 周。
%x本地化的适当日期表示。
%X本地化的适当时间表示。
%y十进制数 [00,99] 表示的没有世纪的年份。
%Y十进制数表示的带世纪的年份。
%z十进制带符号数[-1200,+1200]表示时区。
%Z时区名称。
%%字面的 ‘%’ 字符。
参考

官方文档:https://docs.python.org/zh-cn/3/library/time.html
相似文章:https://blog.csdn.net/manchan4869/article/details/123024071

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值