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())
一.python-时间戳转换相差8小时问题https://zhidao.baidu.com/question/518839054910675165.html
https://zhidao.baidu.com/question/1644839377324350180.html
https://blog.csdn.net/August1226/article/details/80620924
二.
cashloan里面:
cashloanadmin里面: G:\pythonProject-4\CashLoanAdmin\common\time_switch.py
import time
def time_transformate(timestamp):
"""毫秒时间戳转换成 2016-05-05 20:28:54 这种格式的时间"""
timestamp = int(timestamp)
time_local = time.localtime(timestamp/1000)
data = time.strftime("%Y-%m-%d %H:%M:%S", time_local)
return data
时间戳可简单理解为自1970/01/01/ 00:00:00 到现在经过的秒数,如果要计算日期运算,因为涉及到润年,一般使用语言自带的库实现比较简单和高效。但如果只是取时间即时分秒,完全可以不用依赖库,通过模运算和取整运算的方式实现,并且性能比内部库函数效率更高。
运行结果,100万次
1000万次
性能快了接近200%,如果有涉及到大数据分析场景,百万甚至千万级别次的调用时,该算法还是有意义的