python 时间转换相关

时间:2022-01-26 18:14:00

最近需要操作时间的地方相当的多,包括打点,包括时间转换。

罗列最近遇到的两个需求。

1. 关于上篇文章写的base64上传图片的问题,我使用了打点来计算解码需要多少时间。这个对时间精度要求是比较高的。

所以使用了 time模块

import time
time.time()

获取一个时间戳。这个时间戳是从1970年到现在的秒数。 这个时间戳在打点的两个地方相减,就能获得两个点之间的精确时间。 测试的时候会非常有效。

然后不得不提到其实平时使用得最多的datetime模块。

这个模块让我们更加人类化的使用时间相关功能。 包括取得一个现在时间。

import datetime
print datetime.datetime.now()

取得一个标准的现在的时间 YYYY:mm:dd HH:MM:SS 字符串

import datetime
print datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

将字符串转换回时间格式

import datetime
off_time = '2115-01-01 12:00'
off_time = datetime.datetime.strptime(off_time,'%Y-%m-%d %H:%M')
print off_time

将时间戳转换为datetime格式人眼可识别的日期数据

import time

x = 1501139595
pp = time.localtime(x)
time.strftime('%Y-%m-%d %H:%M:%S', pp) output: '2017-07-27 15:13:15'

将datetime格式戳转换为timestamp

import time

x = '2017-07-27 15:13:15'
st = time.strptime(x, '%Y-%m-%d %H:%M:%S')
time.mktime(st) output: 1501139595.0

有这些方法基本上就够用啦