#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time as t
class MyTimer:
def __init__(self):#重写初始化函数
self.units=["年","月","天","小时","分钟","秒"]
self.lasted=[]#保存 计数开始时间和结束时间之间的时间差 年月日时分秒 对位相减
self.message="未开始计时!"
def __str__(self):#重新类的__str__函数 输出字符串
return self.message
def __add__(self, other):#重写类的__add__函数 当对象调用+号时候调用
self.message ="总共运行了"
result=[]
for item in range(6):#用循环 在时间位置对应相加
total= self.lasted[item]+other.lasted[item]
if total :
ts=str(total)+self.units[item]
result.append(ts)
self.message+=ts
return self.message
def __sub__(self, other):
self.message="两个对象时间差:"
result=[]
for index in range(6):
lfs=self.lasted[index] -other.lasted[index]
if lfs:
result.append(str(lfs)+self.units[index])
self.message+=str(lfs)+self.units[index]
return self.message
def Start(self):
self.message="计数器已经运行了:"
self.begintime = t.localtime()#取当前本地时间
def Stop(self):
self.endtime=t.localtime()#取当前结束时间
self.__SumTime()#开始计算时间差
def __SumTime(self):#计算 开始时间和结束时间的差
for item in range(6):
rs=self.endtime[item]-self.begintime[item]
self.lasted.append(rs)
if(rs):
self.message+=str(rs)+self.units[item]
t1=MyTimer#创建计数器对象1
t1.Start()
t.sleep(7)
t1.Stop()
print("对象t1:"+str(t1))
t2=MyTimer()#c创建计时器对象2
t2.Start()
t.sleep(1)
t2.Stop()
print("对象t2:"+str(t2))
print(t1+t2)
print(t1-t2)