python中的time和datetime模块是时间方面的模块
time模块中时间表现的格式主要有三种:
1、timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
2、struct_time:时间元组,共有九个元素组。
3、format time :格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。
import time
print(int(time.time()))#打印当前时间戳
res = time.strftime('%Y-%m-%d %H:%M:%S')#取当前格式化好的时间
print(res) # 输出
1543908340
2018-12-04 15:25:40
#时间戳转换成时间元组,然后在转格式化好的时间
time1 = time.gmtime(int(time.time()))#把时间戳转成时间元组,以标准时间的时间转换的,0时区格式化元组
time2 = time.localtime(int(time.time()))#把时间戳转成时间元组,以标准时间的时间转换的,当前时区格式化元组
res1 = time.strftime('%Y-%m-%d %H:%M:%S',time1)
res2 = time.strftime('%Y-%m-%d %H:%M:%S',time2)
print(res1)
print(res2) #输出
2018-12-04 07:29:54
2018-12-04 15:29:54
#格式化好的时间转时间戳
timep = time.strptime('2018-10-23 15:38:59','%Y-%m-%d %H:%M:%S')
print(timep)
res = time.mktime(timep)#把时间元组转成时间戳
print(res) #输出:
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=23, tm_hour=15, tm_min=38, tm_sec=59, tm_wday=1, tm_yday=296, tm_isdst=-1)
1540280339.0
import time
def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
#时间戳转格式化好的时间
if timestamp:
time1 = time.localtime(timestamp)
res = time.strftime(format, time1)
else:
res = time.strftime(format)
return res print(timestampToStr(1283214999)) # 输出:2010-08-31 08:36:39
import time
def strTotimestamp(str=None,format='%Y%m%d%H%M%S'):
#格式化的时间转时间戳
if str:
timep = time.strptime(str, format)
res = time.mktime(timep)
else:
res = time.time()
return int(res) print(strTotimestamp('')) #输出:1543909012
更多内容,请参考:
1. http://blog.51cto.com/yishi/2062042
2. https://www.cnblogs.com/xtsec/p/6682052.html
3. 获取多久前的时间:https://www.cnblogs.com/saryli/p/6934913.html