对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的操作有如下的几种:
将时间转换为时间戳重新格式化时间时间戳转换为时间获取当前时间及将其转换成时间戳 1、将时间转换成时间戳将如上的时间2016-05-05 20:28:54转换成时间戳,具体的操作过程为:
利用strptime()函数将时间转换成时间数组利用mktime()函数将时间数组转换成时间戳 #coding:UTF-8import timedt = "2016-05-05 20:28:54"#转换成时间数组timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")#转换成时间戳timestamp = time.mktime(timeArray)print timestamp 2、重新格式化时间重新格式化时间需要以下的两个步骤:
利用strptime()函数将时间转换成时间数组利用strftime()函数重新格式化时间 #coding:UTF-8import timedt = "2016-05-05 20:28:54"#转换成时间数组timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")#转换成新的时间格式(20160505-20:28:54)dt_new = time.strftime("%Y%m%d-%H:%M:%S",timeArray)print dt_new 3、将时间戳转换成时间在时间戳转换成时间中,首先需要将时间戳转换成localtime,再转换成时间的具体格式:
利用localtime()函数将时间戳转化成localtime的格式利用strftime()函数重新格式化时间 #coding:UTF-8import timetimestamp = 1462451334#转换成localtimetime_local = time.localtime(timestamp)#转换成新的时间格式(2016-05-05 20:28:54)dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)print dt 4、按指定的格式获取当前时间利用time()获取当前时间,再利用localtime()函数转换为localtime,最后利用strftime()函数重新格式化时间。
#coding:UTF-8import time#获取当前时间time_now = int(time.time())#转换成localtimetime_local = time.localtime(time_now)#转换成新的时间格式(2016-05-09 18:59:20)dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)print dt