python实现str时间和系统时间的比较

import time

time模块中主要有一下方法
time.time() 获取当前系统时间,返回float型数值时间戳(当前时间相对于1970.1.1 00:00:00 以秒计算的偏移量)
time.localtime() 获取当前系统时间,返回struct time 型时间
time.mktime()struct time转换成float型时间戳

如何将字符串时间和系统时间进行比较呢?
思路:先将字符串时间转换成time类型的时间,要么是struct time型时间,要么就是float型时间。

方法1:struct time时间进行比较

>>> import time
>>> a = '2017-7-27'
>>> a2time = time.strptime(a, '%Y-%m-%d')
>>> a2time
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=27, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=208, tm_isdst=-1)
>>> localtime = time.localtime(time.time())
>>> localtime
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=26, tm_hour=9, tm_min=3, tm_sec=16, tm_wday=2, tm_yday=207, tm_isdst=0)
>>> a2time > localtime
True

方法2:float时间进行比较
将时间都转换为时间戳的格式,直接进行相减,得到以秒为单位的差额.
-----该方法主要是为了计算差额----

>>> import time
>>> a = '2017-7-27'
>>> a2time = time.mktime(time.strptime(a, '%Y-%m-%d'))
>>> a2time
1501084800.0
>>> localtime = time.time()
>>> localtime
1501031600.241782
>>> a2time-localtime
53199.75821805
>>> (a2time-localtime)/3600 # 相差多少个小时
14.777710616125

你可能感兴趣的:(python,python)