python根据时间戳获取时分秒

Python017

python根据时间戳获取时分秒,第1张

时间戳可简单理解为自1970/01/01/ 00:00:00 到现在经过的秒数,如果要计算日期运算,因为涉及到润年,一般使用语言自带的库实现比较简单和高效。但如果只是取时间即时分秒,完全可以不用依赖库,通过模运算和取整运算的方式实现,并且性能比内部库函数效率更高。

运行结果,100万次

1000万次

性能快了接近200%,如果有涉及到大数据分析场景,百万甚至千万级别次的调用时,该算法还是有意义的

Python中有3种不同的时间表示法

1.时间戳 timestamp  是从1970年1月1日0时0分0秒开始的秒数

2.struct_time    包含9个元素的tuple

3.format time 已经格式化好便于阅读的时间

使用时间需要使用time模块

import time引入time模块

time.time()方法获取当前的时间,以timestamp的形式

>>>time.time()

1576372527.424447

time.localtime()方法:以struct_time的形式获取当前的当地时间

>>>time.localtime()

time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14,

tm_hour=20, tm_min=15, tm_sec=49, tm_wday=5, tm_yday=348, tm_isdst=0)

time.gmtime()方法:以struct_time的形式获取当前的格林尼治时间

从struct_time中获取具体的年月日:

ctime.tm_year  ctime.tm_mon .....

ttm_tm_isdst = 1来告知mktime()现在处于夏令时,明确使用ttm.tm_isdst = 0来告知未处于夏令时

不同时间表示法的转换

struct_time转timestamp: time.mktime(<struct_time>)

timestamp转struct_time: time.localtime(time.time())