时间相关的模块

格式化好的时间 2020-05-16 18:10:20
时间戳 156854124141 从unix 元年,从计算机发明的那一年,到现在发生了多少秒,没过一秒加1
计算时间 用时间戳比较方便

获取时间
print(time.time()) #获取当前时间的时间戳
print(time.strftime('%Y-%m-%d %H:%M:%S')) #获取当前时间的格式化时间,要指定格式
print(time.strftime('%Y-%m'))
print(time.strftime('%Y-%m-%d'))
print(time.strftime('%Y/%m/%d'))
 
运行结果:
1589625355.8514764
2020-05-16 18:35:55
2020-05
2020-05-16
2020/05/16

 

时间的互相转换,格式化好时间和时间戳之间不能直接转换,需要通过时间元组

 1.时间戳转格式化时间

import time,datetime
result=time.localtime(1589617159.785086) #把时间戳转换为时间元组
print(result)
print(time.strftime('%Y/%m/%d',result)) #将时间元组转为格式化的时间,可以指定格式
print(time.strftime('%Y-%m-%d %H:%M:%S',result))


运行结果:
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=16, tm_hour=16, tm_min=19, tm_sec=19, tm_wday=5, tm_yday=137, tm_isdst=0)
2020/05/16
2020-05-16 16:19:19

 2.格式化时间转时间戳

import time,datetime
result=time.strptime('2020-05-16 16:19:19','%Y-%m-%d %H:%M:%S') #把时间戳转换为时间元组
print(time.mktime(result)) #将元组转成时间戳

运行结果:
1589617159.0

 

sleep等待多久之后再执行下面的代码  

# time.sleep(10)
# print('等待10s后再运行')

 

以下是实现时间转换的函数:

import time,datetime
def str_to_timezone(str=None,format="%Y-%m-%d %H:%M:%S"):
    #这个函数是格式化好的时间转时间戳的,如果不传参数默认返回当前时间戳
    if str:
        time_tuple = time.strptime(str,format)
        result = time.mktime(time_tuple)
    else:
        result = time.time()
    return int(result)

print(str_to_timezone('2020-05-16 16:19:19'))


def timezone_to_str(timezone=None,format="%Y-%m-%d %H:%M:%S"):
    '''这个函数是时间戳转格式化好的时间,如果不传参数,默认返回当前时间'''
    if timezone:
        time_tuple = time.localtime(timezone)
        result = time.strftime(format,time_tuple)
    else:
        result = time.strftime(format)
    return result

print(timezone_to_str(1589617159))

运行结果:
1589617159
2020-05-16 16:19:19

  

 

posted @ 2020-05-16 18:45  MLing  阅读(118)  评论(0编辑  收藏  举报