我们可以用python里面的time模块mktime方法将转为unix时间戳,mktime函数只能接受相应时间的元祖序列。在此之前需要先将输入的时间转为元组序列:
如果输入的时间为指定格式的,则可以用strptime() 函数根据指定的格式把一个时间字符串解析为时间元组,
time.strptime(string[, format])
例如:time.strptime('2017-11-18 13:37:09', '%Y-%m-%d %H:%M:%S')
如果输入的时间为datetime.datetime(2017, 9, 14, 15, 23, 41)格式的话,则可以用timetuple()方法将其转为时间元组。
dtime = datetime.datetime.now()
dtime.timetuple()
在转为时间元组序列之后则可以再用mktime函数将其转换:time.mktime(timetuple)
例如:
str类型的日期转换为时间戳
# 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") print timeArray # timeArray可以调用tm_year等 print timeArray.tm_year # 2013 # 转为时间戳 timeStamp = int(time.mktime(timeArray)) print timeStamp # 1381419600
时间戳转换为指定格式的日期
# 使用time timeStamp = 1381419600 timeArray = time.localtime(timeStamp) otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray) print otherStyleTime # 2013--10--10 23:40:00 # 使用datetime timeStamp = 1381419600 dateArray = datetime.datetime.utcfromtimestamp(timeStamp) otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S") print otherStyleTime # 2013--10--10 15:40:00