import datetime
t1 = datetime.datetime.strptime("2017-9-06 10:30:00", "%Y-%m-%d %H:%M:%S")
t2 = datetime.datetime.strptime("2017-9-06 12:30:00", "%Y-%m-%d %H:%M:%S")
interval_time = (t2 - t1).seconds # 输入的结果:7200 忽略微秒和天
total_interval_time = (t2 - t1).total_seconds() # 输出结果是: 7200.0
print (interval_time)
print (total_interval_time)
#但是有的时候这两个值是不一样的,切记切记
在python中经常会用到计算两个时间差,两个日期类型进行相减可以获取到时间差。
经常会使用seconds来获取,其实seconds获取的是仅仅是时间差的秒数,忽略微秒数,忽略天数。
total_seconds()是获取两个时间之间的总差。
datetime模块下面有三个类,date,time,datetime,下面datetime为例解释,date/time用法类似
import datetime
# print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
#print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19
# print(datetime.datetime.now() )
# print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
# print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
# print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
# print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
# c_time = datetime.datetime.now()
# print(c_time.replace(minute=3,hour=2)) #时间替换
>>> dt = datetime.datetime.now()
>>> dt.date
<built-in method date of datetime.datetime object at 0x7fecdc85c530>
>>> dt.year
2017
>>> dt.month
12
>>> dt.day
30
>>> dt.hour
3
>>> dt.minute
41
>>> dt.second
9
# 一个datetime实例,常用的方法有以下几种:
datetime(实例).date() # 返回 date 对象
datetime(实例).time() # 返回 time 对象
datetime(实例).timetuple() # 返回time.struct_time 对象
dattime(实例).strftime(format) # 按照 format 进行格式化输出