python实现str时间和系统时间的比较
2017-12-24 本文已影响524人
高正杰
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
附
该文章于2017年7月26日于CSDN上首次发表,2017年12月24日搬家至此!