python日期
1、日期模块
import time
2、时间戳:从Unix元年开始到现在的秒数
格式化好的时间:2017-07-13
3、获取当前时间戳
time.time()
如果不想要小数点,可以强制转为int
int(time.time())
4、获取格式化好的时间
time.strftime('%Y-%m-%d %H:%M:%S')
Y表示2018年,y表示18年
5、把时间戳转成时间元组,不传时间戳,取的是标准时区的时间
time.gmtime()
6、把时间戳转成时间元组,不传时间戳,取的是当前时区的时间
time.localtime()
7、返回一个可读的形式为"Fri Jul 13 14:11:48 2018"(星期五 7月 13日 14时11分48秒 2018年)的24个字符的字符串
time.asctime()
8、把格式化好的时间转为时间元祖
time.strptime()
9、把时间元组转为时间戳
time.mktime()
10、获取前十天的日期,当前时间戳减去10天的总秒数
1 import time
2 t=int(time.time()) #获取当前时间戳整数
3 s=24*60*60*10 #获取10天的总秒数
4 ts=time.localtime(t-s) #时间戳t减去10天的总秒数s为10天前的时间戳用localtime转成时间元组
5 print(time.strftime('%Y-%m-%d %H:%M:%S',ts)) #用strftime格式化时间,不传ts,默认显示当前的时间,传ts,按照格式显示需要的时间
11、传一个时间戳的函数,转换为格式化好的时间
步骤: 1、首先要把时间戳转成时间元组
2、再把时间元组转成格式化好的时间
1 def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'): #定义一个函数,传两个参数,时间戳,格式化好的时间的默认格式 2 if timestamp: 3 time_tuple=time.localtime(timestamp)#将传过来的时间戳转成时间元组 4 return time.strftime(format,time_tuple)#将时间元组转为格式化好的日期 5 return time.strftime(format) 6 res=timestampToStr(254856965) #传入时间戳 7 print(res)#传入了时间戳的结果 8 print(timestampToStr())#未传入时间戳的结果,显示当前日期
12、传一个格式化好的时间,转换为时间戳
步骤: 1、首先要把格式化好的时间转成时间元组
2、再把时间元组转成时间戳
1 def strToTimestamp(format_time=None,format='%Y%m%d%H%M%S'): 2 if format_time: 3 time_tuple=time.strptime(format_time,format) #将格式化好的时间转为元组 4 return int(time.mktime(time_tuple)) #把元组转为时间戳 5 return int(time.time()) 6 res=strToTimestamp('20180713180959') #传入格式化好的时间 7 print(res) #传入时间的时间戳结果 8 print(strToTimestamp()) #未传时间的当前时间戳结果