主要是下面几步转化:
- 1.由时间戳到时间元组struct_time
t1=time.localtime(stamp1)
- 2.由时间元组到格式化时间字符串
t1=time.strftime("%Y-%m-%d %H:%M:%S",t1)
- 3.由格式化时间字符串到datetime对象的时间
time1=datetime.strptime(t1,"%Y-%m-%d %H:%M:%S")
- 4.利用datetime的属性获取时间差
import datetime.datetime
def cal_time(stamp1,stamp2):
t1=time.localtime(stamp1)
t2 = time.localtime(stamp2)
t1=time.strftime("%Y-%m-%d %H:%M:%S",t1)
t2 = time.strftime("%Y-%m-%d %H:%M:%S", t2)
time1=datetime.datetime.strptime(t1,"%Y-%m-%d %H:%M:%S")
time2 = datetime.datetime.strptime(t2, "%Y-%m-%d %H:%M:%S")
return (time2-time1).seconds
学习链接:https://cloud.tencent.com/developer/article/1387645
https://blog.csdn.net/ljh0302/article/details/54882750
更新:由普通的字符串与datatime对象时间互相转换
from dateutil import parser
import datetime
time_string='Thu Dec 22 12:40:25 2019'# 'Thu Dec 22 10:35:25 2019',这里可以是任意的时间格式
##普通字符串==>>datetime对象
datetime_obj = parser.parse(time_string)
print(type(datetime_obj))# <type 'datetime.datetime'>
##datetime对象==>>普通字符串
time_string1=datetime_obj.strftime('%Y-%m-%d %H:%M:%S')#datetime对象->>字符串
print(time_string1) # 2019-12-22 12:40:25
time_string2=datetime_obj.strftime('%Y-%m-%d')#datetime对象->>字符串
print(time_string2)# 2019-12-22
##普通字符串==>>datetime对象这种方法的格式要求对应,不如第一种利用parser.parse方便
datime_obj1=datetime.datetime.strptime(time_string1, '%Y-%m-%d %H:%M:%S')
print(datime_obj1)#2019-12-22 12:40:25
print(type(datime_obj1))#<class 'datetime.datetime'>