1、time 模块
时间戳 从Unix元年到现在过了多少秒
格式化的时间
1)获取当前时间戳
import time
print(time.time())#获取当前时间戳
2)在一段时间后输出
import time
time.sleep(10)
print('haha') #10秒后打印
3)获取格式化好的时间
import time
today=time.strftime('%Y-%m-%d %H:%M:%S') #获取格式化好的时间
print(today)
4)默认取得是标准时区的时间
import time
print(time.gmtime())
5)获取当前时区时间
import time
print(time.localtime()) #取当前时区的时间
6)时间戳转换为时间元组,再将时间元组转换为格式化时间
import time
s=time.localtime(1514198608) #将时间戳转换为时间元组
print(time.strftime('%Y-%m-%d %H:%M:%S',s)) #再将时间元组转换为格式化时间
7)默认返回当前格式化好的时间,如果传入了时间戳,把时间戳转换成格式化好的时间并返回
import time
def timestamp_to_fomat(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
if timestamp:
time_tuple=time.localtime(timestamp)
res=time.strftime(format,time_tuple)
else:
res=time.strftime(format)
return res
print(timestamp_to_fomat())
print(timestamp_to_fomat(1514198608))
8)把格式化好的时间转换为时间元组,再把时间元组转换为时间戳
import time
tp=time.strptime('2018-4-21','%Y-%m-%d')#把格式化好的时间转换成时间元组
print(time.mktime(tp)) #把时间元组转换成时间戳
9)函数未传参数,返回当前时间的时间戳,传入参数则返回参数的时间戳
import time
def strTimestamp(str=None,format='%Y%m%d%H%M%S'):
if str:
tp=time.strptime(str,format) #转换成时间元组
res=time.mktime(tp)#再转换成时间戳
else:
res=time.time() #默认取当前时间的时间戳
return int(res)
print(strTimestamp())
print(strTimestamp('20181229183859'))
print(strTimestamp('2018-12-29','%Y-%m-%d'))
2、datetime模块
1)获取当前时间
import datetime
print(datetime.datetime.today()) #获取当前时间
2)获取当天时间,精确到天
import datetime
print(datetime.date.today()) #精确到天
3)获取几天后的时间
import datetime
res=datetime.date.today()+datetime.timedelta(days=5) #获取到5天后的时间
print(res) #也可以写minutes,weeks,seconds 时间
4)获取到几天前的时间
import datetime
res=datetime.date.today()+datetime.timedelta(days=-5) #获取到5天前的时间
print(res)
5)获取几天前的时间(输出格式自定义)
import datetime
res=datetime.date.today()+datetime.timedelta(days=-5) #获取到5天前的时间
print(res.strftime('%Y%m%d'))