时间转换函数,常用模块 time、datetime
一、字符串串转换为时间戳
1、将字符串转化为标准的时间格式
import time
time.time()
time.localtime(time.time())
timestamp = '2013-10-10 23:40:00'
timeArray = time.strptime(timestamp, "%Y-%m-%d %H:%M:%S")
'''
timeArray
time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23,
tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1)
'''
#显示时间格式的年份、月份、日期
print(timeArray.tm_year)
print(timeArray.tm_mon)
print(timeArray.tm_mday)
print(timeArray.tm_hour)
'''
显示:
2013
10
10
23
'''
2、将标准时间转换时间戳
#转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp)
#显示 1381419600
注意要先将时间转化为标准时间结构
3、将时间字符串转化为其他形式的时间格式
测试1
tss2 = "2013-10-10 23:40:00"
timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
# 转为其它显示格式
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print(otherStyleTime)
# 2013/10/10 23:40:00
测试2
tss3 = "2013/10/10 23:40:00"
timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
# 2013-10-10 23:40:00
2.3 时间戳转换为指定格式的日期
利用localtime()函数将时间戳转化成localtime的格式
利用strftime()函数重新格式化时间
使用utcfromtimestamp函数进行转换
推荐使用第一种,第二种转换时间会有所相差
# 使用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
4、按指定的格式获取当前时间
利用time()获取当前时间,再利用localtime()函数转换为localtime,最后利用strftime()函数重新格式化时间。
import time
#获取当前时间
time_now = int(time.time())
#转换成localtime
time_local = time.localtime(time_now)
#转换成新的时间格式(2016-05-09 18:59:20)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)