栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

分享Python之time模块把前后两个时间戳之差显示为标准【小时:分】(H:M)时间格式的技巧

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分享Python之time模块把前后两个时间戳之差显示为标准【小时:分】(H:M)时间格式的技巧

Python之time模块的time()函数生成一组格式为10位数的浮点数被称之为时间戳,它是从格林威治时间1970年1月1日00:00:00(北京时间1970年01月01日08:00:00)起至现在的总秒数。
  
  有时程序员为了增加计算的精度,将时间戳扩大1000倍,以毫秒为单位计数,此时间戳数字变为13位。需要强调的是‘秒’转换为‘毫秒’是1000倍,千万别想当然记成‘分’转换‘秒’的60倍。

1、调用time()的方法

模块名.函数名:time.time()

import time,random

def pt(s):  # 打印 变量和变量类型函数
    return print('n值为:{}nn类型为:{}nn'.format(s,type(s)))

# 取系统当前时间戳
time0 = time.time()
pt(time0)

输出结果如下:
  值为:1656081341.2252388
  类型为:

附上 time 库几个常用函数:

time.strptime():将特定字符串格式的时间,转换为struct_time
time.strftime():将struct_time,转换为特定字符串格式的时间

time.time():将当前时间转换为时间戳
time.mktime():将struct_time转换为时间戳,输入当地struct_time,输出格林威治时间戳

time.localtime():将时间戳转换为struct_time(当地时间)
time.gmtime():将时间戳转换为struct_time(格林威治时间)

localtime 与 gmtime 两者关系:例如,localtime北京时间 = gmtime格林威治时间 + 8小时(时间戳加上 8×60×60 = 28800 秒)

2、前后两个时间戳之差是秒数之差

我们一般采用默认的10位数字时间戳,前后两个时间戳之差是秒数之差;如果采用13位数字时间戳,前后两个时间戳之差就是毫秒数之差。当然,也可以通过变换变成小时数之差(见本文第3条)。

# 随机延长1-10秒
time.sleep(random.uniform(1-10秒))
time1 = time.time()
t = time1-time0
pt(t)

输出结果如下:
  值为:5.554218292236328
  类型为:

3、如何将时间戳之差变成标准的【小时:分】(H:M)格式

【小时】取值采用 t 值除以3600取整得到,【分】取值采用 t 值除以60再用60进行模运算取整得到。最后,采用 2 位右对齐空位填 0 即 {:0>2} 得到工整的输出格式。

# 为了显示【小时:分】格式,将前边的时间戳之差 t 放大3600倍,由秒差变为小时差
t = t*60*60
pt('标准时间格式:{:0>2}:{:0>2}'.format(int(t/3600),int(t/60%60)))

输出结果如下:
  标准时间格式:05:33
  类型为:
  希望以上分享对您有帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989462.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号