def transfer(timestamp,format='%Y-%m-%d %H:%M:%S'): import time ''' 把时间戳转成格式化输出的字符串 ''' time_tuple = time.gmtime(timestamp)#先把时间戳转成时间元组 res = time.strftime(format, time_tuple) #格式化时间 return res def transfer2(time_str,format='%Y%m%d%H%M%S'): import time ''' 把格式化好的时间字符串转成时间戳 ''' time_tuple = time.strptime(time_str, format) res = time.mktime(time_tuple) print(res) return int(res) def get_other_time(day,format='%Y%m%d%H%M%S'): #这个函数是用来获取N天前的时间,或者N天后的时间 #day如果传入负数,那么就是几天前的。传入正数,就是几天后的 import datetime res = datetime.datetime.now()+datetime.timedelta(day)#取几天后的 res_time = res.strftime(format)#格式化时间 print(res_time) return res_time
时间表示方式有两种:时间戳、时间元组
import time print(time.time()) # 获取当前时间戳,从Unix元年开始到现在过了多少秒,时间格式一种 >>>1510045614.40476
print(time.sleep(1)) # 休息几s
>>>None
print(time.gmtime()) # 把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳
>>>time.struct_time(tm_year=2017, tm_mon=11, tm_mday=7, tm_hour=9, tm_min=8, tm_sec=37, tm_wday=1, tm_yday=311, tm_isdst=0)
print(time.localtime()) # 把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳
>>>time.struct_time(tm_year=2017, tm_mon=11, tm_mday=7, tm_hour=17, tm_min=9, tm_sec=38, tm_wday=1, tm_yday=311, tm_isdst=0)
print(time.mktime(time.localtime())) # 把时间元组转换成时间戳
>>>1510045829.0
print(time.strptime("20160204 191919", "%Y%m%d %H%M%S")) # 将格式化的时间转换成时间元组
>>>time.struct_time(tm_year=2016, tm_mon=2, tm_mday=4, tm_hour=19, tm_min=19, tm_sec=19, tm_wday=3, tm_yday=35, tm_isdst=-1)
print(time.struct_time) # 时间元组
>>><class 'time.struct_time'>
print(time.asctime()) # 时间元转换成格式化时间
>>>Tue Nov 7 17:12:41 2017
print(time.ctime()) # 时间戳转换成格式化时间
>>>Tue Nov 7 17:13:13 2017
print(datetime.datetime.now()) # 当然时间格式化输出
>>>2017-11-07 17:13:58.620024
print(datetime.datetime.now() + datetime.timedelta(3)) # 3天后的时间
print(datetime.datetime.now() + datetime.timedelta(-3)) # 3天前的时间
>>>2017-11-10 17:14:21.610339
>>>2017-11-04 17:14:21.610339