Parcourir la Source

Modified StopWatch.py so it works the same on multiple operating
systems.

Bryan Allred 14 ans auparavant
Parent
Commettre
a2d06363e6
1 fichiers modifiés avec 36 ajouts et 7 suppressions
  1. 36 7
      src/StopWatch.py

+ 36 - 7
src/StopWatch.py

@ -3,7 +3,7 @@ Created on Jun 10, 2011
3 3

4 4
@author: BMAllred
5 5
'''
6
import time
6
import datetime
7 7

8 8
class StopWatch(object):
9 9
    '''
@ -18,24 +18,53 @@ class StopWatch(object):
18 18
        self.StartTime = None
19 19
        self.StopTime = None
20 20
    
21
    def Reset(self):
22
        '''
23
        Reset stop watch.
24
        '''
25
        
26
        self.StartTime = None
27
        self.StopTime = None
28
        
21 29
    def Start(self):
22
        self.StartTime = time.clock()
30
        '''
31
        Start a new stop watch.
32
        '''
33
        
34
        self.StartTime = datetime.datetime.now()
23 35
        self.StopTime = None
24 36
        
25 37
        return self.StartTime
26 38
    
27 39
    def Stop(self):
28
        self.StopTime = time.clock()
40
        '''
41
        Stop recording the time.
42
        '''
43
        
44
        self.StopTime = datetime.datetime.now()
29 45
    
30 46
    def TimeElapsed(self):
47
        '''
48
        Returns the time elapsed.
49
        '''
31 50
        
32 51
        if self.StartTime is None:
33 52
            return -1
34 53
        elif self.StopTime is None:
35
            return time.clock() - self.StartTime
54
            return datetime.datetime.now() - self.StartTime
36 55
        
37 56
        return self.StopTime - self.StartTime
38 57
    
39
    def Reset(self):
40
        self.StartTime = None
41
        self.StopTime = None
58
    def TotalSeconds(self):
59
        '''
60
        Returns the total seconds elapsed.
61
        '''
62
        
63
        return self.TimeElapsed().seconds
64
    
65
    def TotalMilliseconds(self):
66
        '''
67
        Returns the total milliseconds elapsed.
68
        '''
69
        
70
        return self.TimeElapsed().microseconds / 1000