8°

python 中 使用 datetime 计算时间差

# -*- coding: utf-8 -*-

import datetime

if name == 'main': now = datetime.datetime.now() t = datetime.datetime(2019, 12, 22, 20) print("相差 不足秒的整数时间(按微秒计算): ", (now - t).microseconds, "微秒") print("相差 不足天的整数时间(按秒计算): ", (now - t).seconds, "秒") print("相差 天的整数时间(按天计算): ", (now - t).days, "天", end="\n\n")

print("相差 秒(将时间差计算为秒,含小数): ", (now - t).total_seconds(), "秒")
print("相差 毫秒(含小数): ", (now - t).total_seconds() * 1000, "毫秒")
print("相差 微秒(含小数): ", (now - t).total_seconds() * 1000 * 1000, "微秒")
print("相差 分钟(含小数): ", (now - t).total_seconds() / 60, "分钟")
print("相差 小时(含小数): ", (now - t).total_seconds() / 60 / 60, "小时")
print("相差 天(含小数): ", (now - t).total_seconds() / 60 / 60 / 24, "天", end="\n\n")

# 验证 反向计算
print("相差 不足天的整数时间(按微秒计算): ",
      int(((now - t).total_seconds() - (now - t).days * 24 * 60 * 60 - (now - t).seconds) * 1000 * 1000), "微秒")
print("相差 不足秒的整数时间(按秒计算): ", int((now - t).total_seconds() - (now - t).days * 24 * 60 * 60), "秒")
print("相差 天的整数时间(按天计算): ",
      int((now - t).total_seconds() / 60 / 60 / 24), "天")

结果:

相差 不足秒的整数时间(按微秒计算):  978512 微秒
相差 不足天的整数时间(按秒计算):  52994 秒
相差 天的整数时间(按天计算):  22 天

相差 秒(将时间差计算为秒,含小数): 1953794.978512 秒 相差 毫秒(含小数): 1953794978.512 毫秒 相差 微秒(含小数): 1953794978512.0 微秒 相差 分钟(含小数): 32563.249641866667 分钟 相差 小时(含小数): 542.7208273644444 小时 相差 天(含小数): 22.61336780685185 天

相差 不足天的整数时间(按微秒计算): 978512 微秒 相差 不足秒的整数时间(按秒计算): 52994 秒 相差 天的整数时间(按天计算): 22 天

 

本文由【可达鸭Go】发布于开源中国,原文链接:https://my.oschina.net/xiaohuai4869/blog/3158034

全部评论: 0

    我有话说: