-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtimeframe.py
More file actions
33 lines (23 loc) · 1.04 KB
/
timeframe.py
File metadata and controls
33 lines (23 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import datetime
class Timeframe:
def __init__(self, start: datetime.datetime, end: datetime.datetime, customer):
self.start = start
self.end = end
self.customer = customer
def to_html_row(self):
return f'<tr><td>{self.get_date_string()}</td><td>{self.get_start_string()}</td>' \
f'<td>{self.get_end_string()}</td><td>{self.get_time_delta_string()}</td></tr>'
def get_start_string(self):
return str(self.start).split('.', 2)[0].split(' ')[1]
def get_end_string(self):
return str(self.end).split('.', 2)[0].split(' ')[1]
def get_time_delta(self):
return self.end - self.start
def get_time_delta_string(self):
return str(self.get_time_delta()).split('.', 2)[0]
def get_date_string(self):
return str(self.start).split('.', 2)[0].split(' ')[0]
def get_time_delta_in_minutes(self):
return float(self.get_time_delta().seconds / 60)
def get_time_delta_in_seconds(self):
return self.get_time_delta().total_seconds()