8000 Merge pull request #2 from smpotts/functions · smpotts/think-python@15eb58e · GitHub
[go: up one dir, main page]

Skip to content

Commit 15eb58e

Browse files
authored
Merge pull request #2 from smpotts/functions
added time functions
2 parents 50fbb11 + 92fe947 commit 15eb58e

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/time.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,22 @@ def is_after(t1, t2):
2222
t2_time = datetime.strptime(t2.print_time(), time_format).time()
2323
return t1_time > t2_time
2424

25+
@staticmethod
26+
def time_to_int(time):
27+
minutes = time.hours * 60 + time.minutes
28+
seconds = minutes * 60 + time.seconds
29+
return seconds
30+
31+
@staticmethod
32+
def int_to_time(seconds):
33+
time = Time()
34+
minutes, time.seconds = divmod(seconds, 60)
35+
time.hours, time.minutes = divmod(minutes, 60)
36+
return time
37+
38+
@staticmethod
39+
def add_time(t1, t2):
40+
seconds = Time.time_to_int(t1) + Time.time_to_int(t2)
41+
return Time.int_to_time(seconds)
42+
2543

tests/test_time.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ def test_is_after(self):
2323
self.assertTrue(Time.is_after(t3, t2))
2424
self.assertFalse(Time.is_after(t2, t3))
2525

26+
def test_time_to_int_to_time(self):
27+
t = Time(8, 54, 16)
28+
self.assertEqual(Time.time_to_int(t), 32056)
29+
self.assertEqual(Time.time_to_int(Time.int_to_time(32056)), 32056)
30+
2631

2732
if __name__ == '__main__':
2833
unittest.main()

0 commit comments

Comments
 (0)
0