Python时间处理模块time——字符串,时间戳之间的转换和格式化

1、字符串转换时间戳

在获取输入流的时候,我们往往获取的是字符串形式表示的时间,现在我们需要将它转换成时间戳形式。

1>首先要使用time.strptime()函数转换成时间数组

2>再使用time.mktime()函数将时间数组转换成时间戳,得到的是一个浮点数。

>>> import time
>>> s = '2018-08-16 14:39:52'
>>> timeArray = time.strptime(s, '%Y-%m-%d %H:%M:%S')
>>> timeArray
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=16, tm_hour=14, tm_min=39, tm_sec=52, tm_wday=3, tm_yday=228, tm_isdst=-1)
>>> timestamp = time.mktime(timeArray)
>>> timestamp
1534401592.0

 

2、将时间戳格式化输出

进行时间操作之后,我们往往需要将时间进行格式化输出。

1>首先使用time.localtime()函数将时间戳转换成时间数组

2>使用time.strftime()函数将时间数组进行格式化输出

>>> local_time = time.localtime(1534401592.0)
>>> local_time
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=16, tm_hour=14, tm_min=39, tm_sec=52, tm_wday=3, tm_yday=228, tm_isdst=0)
>>> date = time.strftime('The value is %Y %m %d %H:%M:%S', local_time)
>>> date
'The value is 2018 08 16 14:39:52'

3、跳转至指定日期

直接在时间戳上加减距离指定日期的秒数,在将时间戳格式化输出即可。

>>> timestamp = 1534401592.0
>>> local_time = time.localtime(timestamp)
>>> time.strftime('%Y %m %d %H:%M:%S', local_time)
'2018 08 16 14:39:52'
>>> local_time = time.localtime(timestamp +60)
>>> time.strftime('%Y %m %d %H:%M:%S', local_time)
'2018 08 16 14:40:52'

你可能感兴趣的:(Python)