您的位置:首页 > 编程语言 > Python开发

Python 标准库—— datetime(运行时间的判断)

2016-03-31 22:52 465 查看

0. 运行时间的转化

使用 timedelta

from datetime import timedelta
start_time = time.time()
...
elapsed_time = time.time() - start_time
print('time usage: ' + str(timedelta(seconds=int(round(elapsed_time)))))


使用 datetime.now()

start = datetime.datetime.now()
func()
end = datetime.datetime.now()
elapsed_seconds = (end-start).seconds


1. 转换时间戳

必须是 integer 的 Unix 风格的时间戳:

>>> timeinfo = datetime.datetime.fromtimestamp(881250949)
>>> timeinfo
datetime.datetime(1997, 12, 4, 23, 55, 49)

>>> timeinfo.year
1997
>>> timeinfo.month
12
>>> timeinfo.hour
23
>>> timeinfo.second
49


2. 常见成员函数

utcnow():获取此时的协调世界时

UTC:Coordinated Universal Time,协调世界时。协调世界时是针对服务器来说的,也即服务器需要统一时间单位,这和用户所在的地理位置(时区)无关。

>> timeinfo = datetime.datetime.utcnow()
>> timeinfo
datetime.datetime(2016, 6, 4, 8, 21, 8, 417496)
# 此刻其实是北京时间的下午的4点21,
# 也即相差八小时。
# 道理很简单,北京位于东八区;要比协调世界时快了 8 个小时


3. 时间戳(timestamp)⇔ datetime.datetime

3.1 timestamp ⇒ datetime.datetime

>> timeinfo = datetime.datetime.fromtimestamp(881250949)
>> timeinfo
datetime.datetime(1997, 12, 4, 23, 55, 49)


相似的接口,还有,

datetime.datetime.utcfromtimestamp()


datetime.datetime ⇒ timestamp

>> timestamp = datetime.datetime.timestamp(timeinfo)
>> timestamp
881250949.0


4. 时间差

>> delta = datetime(2011, 1, 7) - datetime(2008, 6, 24, 8, 15)
>> delta
datetime.timedelta(926, 56700)
>> delta.days
926
>> delta.seconds
56700
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: