time模块
Posted jiaqi-666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了time模块相关的知识,希望对你有一定的参考价值。
时间格式
格式化时间(Format String):
2017/03/17 15:01:02
2017-03-17 15:01:02
2017.03.17 15:01:02
print(time.strftime(‘%Y-%m-%d %H:%M:%S‘)) print(time.strftime(‘%y-%m-%d %H:%M:%S‘)) print(time.strftime(‘%c‘)) 运行结果: 2018-08-20 17:00:39 18-08-20 17:00:39 Mon Aug 20 17:00:39 2018
结构化时间(struct_time):
以元组形式表示
struct_time = time.localtime() # 北京时间 print(struct_time) print(struct_time.tm_mon) print(struct_time.tm_year) 运行结果: time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=16, tm_min=59, tm_sec=54, tm_wday=0, tm_yday=232, tm_isdst=0) 8 2018
时间戳时间(timestamp)
浮点型数据类型,以秒为单位, 供机器使用
print(time.time()) 运行结果: 1534755772.7143104
时间戳 - 结构化 - 格式化的转化
时间戳转格式化时间
def time_num_fm(s): a = time.localtime(s) ret = time.strftime("%Y-%m-%d %H:%M:%S", a) return ret
格式化时间转时间戳
def time_fm_num(s): a = time.strptime("%s" % s, "%Y-%m-%d %H:%M:%S") ret = time.mktime(a) return ret
当前时间当月n号时间戳练习def time_n(n=1): ‘‘‘ 这个函数是用来 计算当月第n天的时间戳 :param n:默认为1,当月的din天 :return:返回的是 当月第n天的时间戳 ‘‘‘ a = time.strftime("%Y-%m", time.localtime(time.time())) b = str(a)+"-%s" % n a_back = time.strptime(b, "%Y-%m-%d") ret_back = time.mktime(a_back) return ret_back
时间差练习def time_lead(a, b): ‘‘‘ 这个函数是用来 计算时间差 :param a:需要计算时间差的开始时间 :param b:需要计算时间差的结束时间 :return:返回的是 时间差的字符串 ‘‘‘ ret_a = time.mktime(time.strptime("%s" % a, "%Y-%m-%d %H:%M:%S")) ret_b = time.mktime(time.strptime("%s" % b, "%Y-%m-%d %H:%M:%S")) result = ret_b - ret_a s = time.gmtime(result) return ‘过去了%d年%d月%d天%d小时%d分钟%d秒‘ % (s.tm_year - 1970, s.tm_mon - 1, s.tm_mday - 1, s.tm_hour, s.tm_min, s.tm_sec) ret = time_lead("2017-3-19 2:30:8", "2018-8-20 11:07:3") print(ret) 运行结果: 过去了1年5月3天8小时36分钟55秒
以上是关于time模块的主要内容,如果未能解决你的问题,请参考以下文章