time模块

时间格式

time.sleep(2)  # 程序走到这儿会等待2s钟

格式化时间(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

时间戳 - 结构化 - 格式化的转化

 

J3VT9A5{)4BA5X[OGP2WKTN

时间戳转格式化时间

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秒
posted @ 2018-08-20 17:58  YaoSir66  阅读(98)  评论(0编辑  收藏  举报