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模块的主要内容,如果未能解决你的问题,请参考以下文章

1 代码片段1

学习笔记:python3,代码片段(2017)

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

如何有条件地将 C 代码片段编译到我的 Perl 模块?

如何计算破折号媒体片段名称的 $Time$ 变量?

golang代码片段(摘抄)