问题
pyton经常用到时间类型,这里总结一下
代码可以复制粘贴,自己体会
总有你需要的
获得当前时间
str与时间类型的相互转化
两个时间之间做差
单时间加减
获得时间戳
datetime与date的转化
时间戳与日期的转化
时间戳与日期对时间结构体的转化
如果想用时间命名文件注意
不能有:
解决
import datetime
str_p="2021-02-18 07:40:27"
# str转化为时间
dateTime_time = datetime.datetime.strptime(str_p,'%Y-%m-%d %H:%M:%S')#转化为时间
print(type(dateTime_time))#2021-02-18 07:40:27 <class 'datetime.datetime'>
# 加减时间
datatime_add=dateTime_time+ datetime.timedelta(days=1)#加1天
# days: float = ..., seconds: float = ..., microseconds: float = ...,
# milliseconds: float = ..., minutes: float = ..., hours: float = ...,
# weeks: float = ...,
print(datatime_add)#2021-02-19 07:40:27
# 时间转化为str
datatime_str=datetime.datetime.strftime(dateTime_time,'%Y-%m-%d %H:%M:%S')
print(datatime_str)#2021-02-18 07:40:27
# 获得当前时间
now_time=datetime.datetime.now()
print(now_time)#2021-02-18 08:39:17.062170
#datetime可以转化为date类型,date不行。date信息不足以支持转化,datetime比他长,两者不能直接比较
date_type=dateTime_time.date()
print(date_type)#2021-02-18
# 时间相减
seconds=(now_time-dateTime_time).total_seconds()
print(seconds)#3708.319074 s
import time
import datetime
#获得时间戳
#小数点前为秒,之后3位为单位,毫秒,微秒(*1000)
print(time.time())
#日期变成时间戳
print(time.mktime(time.strptime('2018-01-01 10:40:30',"%Y-%m-%d %H:%M:%S")))
#时间戳变日期,int注意,小数点不行
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(1614385104)))
#时间格式切换,将字符转化为时间再按其他格式输出
print(datetime.datetime.strptime('08/02/2020 01:00', '%m/%d/%Y %H:%M').strftime('%Y-%m-%d %H:%M:%S'))
# 日期转结构体
print(time.strptime("2021-02-27 08:18:24", '%Y-%m-%d %H:%M:%S'))
#时间戳转结构体
print(time.localtime(1486188476))