python utc时间戳转换 (解决1970之前的问题)

mmp,找个1970年之前的转换一百度全是复制粘贴的1970年之后的     这些人复制来复制去真是烦,算了还是自己写吧。

1970年之后的标准转换

#1.时间 19691231

curTime = datetime.strptime(str(19691231),'%Y%m%d')  #先把时间转为标准的 日期格式(datetime)

strTime = curTime.strftime('%Y-%m-%d %H:%M:%S') #转为 具体日期格式 的字符串

# 2.转为时间数组

timeArray = time.strptime(strTime, "%Y-%m-%d %H:%M:%S")

print timeArray

#3.转为时间戳

timeStamp = int(time.mktime(timeArray))

print timeStamp

 1970年之前的标准转换(之后的也可以用这个)

由于python的datetime 只支持1970之后的也就是 正值秒数,所以1970年之前的可以用负数表示。

也就是两个日期的时间差(具体到秒)取反就OK;

 curTime = datetime.strptime(str(19691231),'%Y%m%d') 
 strTime =  curTime.strftime('%Y-%m-%d %H:%M:%S')

 utcTime1 = datetime.strptime(strTime, '%Y-%m-%d %H:%M:%S')

 #这个时间之后为正 之前为负
 utcTime2 = datetime.strptime("1970-01-01 00:00:00", '%Y-%m-%d %H:%M:%S')

 metTime =  utcTime1 - utcTime2 #两个日期的 时间差

 timeStamp = metTime.days*24*3600 + metTime.seconds #换算成秒数

 print timeStamp

 

你可能感兴趣的:(Python)