strftime和strptime 的区别
-
datetime.datetime.strptime(字符串,时间格式):给定一个时间字符串和时间格式,返回一个datetime 时间对象
-
datetime.datetime.strftime(时间对象,输出格式):给定一个时间对象和输出格式,返回一个时间字符串
时间的处理
import datetime
>>> print datetime.datetime.now()
2017-07-15 15:01:24.619000
# 格式化时间
>>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2017-07-15 15:01:35
>>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
2017-07-15 15:01
>>> print datetime.datetime.now().strftime("%Y%m%d")
20170715
#时间的计算:datetime.timedelta模块
#多加一天
>>> print (datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y%m-%d %H:%M:%S")
2017-07-16 15:12:42
#多加一小时
>>> print (datetime.datetime.now()+datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S")
2017-07-15 16:10:43
#多加一分钟
>>> print (datetime.datetime.now()+datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S")
2017-07-15 15:12:56
#计算相差天数
>>> import datetime
>>> d1 = datetime.datetime(2005, 2, 16)
>>> d2 = datetime.datetime(2004, 12, 31)
>>> (d1 - d2).days
47
#计算相差秒数
>>>import datetime
>>>starttime = datetime.datetime.now()
>>>endtime = datetime.datetime.now()
>>>print (endtime - starttime).seconds
求当前分钟及下一分钟
from datatime import datetime,date,timedelta
## 这一分钟
t = datetime.strptime(str(datetime.now()).split('.')[0], '%Y-%m-%d %H:%M:%S')
t = datetime.strptime(str('2021-08-07 23:59:00').split('.')[0], '%Y-%m-%d %H:%M:%S')
t = datetime.strptime(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
t_date = date(*map(int, date.strftime(t, "%Y-%m-%d").split('-')))
start_time = datetime.strptime(datetime.strftime(t, '%Y-%m-%d %H:%M') + ':00','%Y-%m-%d %H:%M:%S')
end_tim= datetime.strptime(datetime.strftime(start_time,'%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S')+timedelta(minutes=1)
##上一分钟
t = datetime.strptime(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
t_date = date(*map(int, date.strftime(t, "%Y-%m-%d").split('-')))
end_time = datetime.strptime(datetime.strftime(t, '%Y-%m-%d %H:%M') + ':00','%Y-%m-%d %H:%M:%S')
start_time = datetime.strptime(datetime.strftime(end_time,'%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S')+timedelta(minutes=-1)
## 上一分钟到59秒
t = datetime.strptime(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
t_date = date(*map(int, date.strftime(t, "%Y-%m-%d").split('-')))
end_time = datetime.strptime(datetime.strftime(t, '%Y-%m-%d %H:%M') + ':00','%Y-%m-%d %H:%M:%S')
start_time = datetime.strptime(datetime.strftime(end_time,'%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S')+timedelta(minutes=-1)
end_time2 = datetime.strptime(datetime.strftime(start_time, '%Y-%m-%d %H:%M') + ":59", '%Y-%m-%d %H:%M:%S')