Created
October 24, 2014 19:41
Revisions
-
yuyay created this gist
Oct 24, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,76 @@ #! encoding=UTF-8 """ zikan: a class of measuring elasped time """ from datetime import datetime, timedelta class Zikan(object): """ Zikan class Example ------- >>> z = Zikan().timer_start() # generate object and start timer >>> z.timer_stop() # after some processes, stop timer >>> z.get_total_seconds() # get elapsed seconds """ def __init__(self): self.timer_reset() def timer_start(self): """ start timer Returns ------- self : object Zikan object """ self.start_date = datetime.now() return self def timer_stop(self): """ stop timer """ if self.start_date: diff = datetime.now() - self.start_date self.elapsed_date += diff self.start_date = None else: raise ZikanError("Need to execute timer_start() before stopping.") def timer_reset(self): """ reset timer """ self.start_date = None self.elapsed_date = timedelta() def get_total_seconds(self): """ return total elapsed seconds """ return self.elapsed_date.total_seconds() def get_total_minutes(self): """ return total elapsed minutes """ return 1.0 * self.elapsed_date.total_seconds() / 60 def get_total_hours(self): """ return total elapsed hours """ return 1.0 * self.elapsed_date.total_seconds() / 3600 class ZikanError(Exception): def __init__(self, message): self.message = message def __str__(self): return self.message