-
Notifications
You must be signed in to change notification settings - Fork 0
/
current_week_calculator.py
68 lines (59 loc) · 3.14 KB
/
current_week_calculator.py
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import datetime
def current_week_calculator():
current_time = datetime.datetime.now()
day_of_week = current_time.weekday()
days = {
0: "Monday",
1: "Tuesday",
2: "Wednesday",
3: "Thursday",
4: "Friday",
5: "Saturday",
6: "Sunday"
}
day_of_week_string = days[day_of_week]
formatted_time = current_time.strftime('%Y-%m-%d %H:%M:%S')
match day_of_week_string:
case "Monday":
current_time = datetime.datetime.strptime(formatted_time, '%Y-%m-%d %H:%M:%S')
days_to_subtract = 2
new_time = (current_time - datetime.timedelta(days=days_to_subtract))
current_week_start = new_time.strftime('%Y-%m-%d 00:00:00')
case "Tuesday":
current_time = datetime.datetime.strptime(formatted_time, '%Y-%m-%d %H:%M:%S')
days_to_subtract = 3
new_time = (current_time - datetime.timedelta(days=days_to_subtract))
current_week_start = new_time.strftime('%Y-%m-%d 00:00:00')
case "Wednesday":
current_time = datetime.datetime.strptime(formatted_time, '%Y-%m-%d %H:%M:%S')
days_to_subtract = 4
new_time = (current_time - datetime.timedelta(days=days_to_subtract))
current_week_start = new_time.strftime('%Y-%m-%d 00:00:00')
case "Thursday":
current_time = datetime.datetime.strptime(formatted_time, '%Y-%m-%d %H:%M:%S')
days_to_subtract = 5
new_time = (current_time - datetime.timedelta(days=days_to_subtract))
current_week_start = new_time.strftime('%Y-%m-%d 00:00:00')
case "Friday":
current_time = datetime.datetime.strptime(formatted_time, '%Y-%m-%d %H:%M:%S')
days_to_subtract = 6
new_time = (current_time - datetime.timedelta(days=days_to_subtract))
current_week_start = new_time.strftime('%Y-%m-%d 00:00:00')
case "Saturday":
current_time = datetime.datetime.strptime(formatted_time, '%Y-%m-%d %H:%M:%S')
days_to_subtract = 0
new_time = (current_time - datetime.timedelta(days=days_to_subtract))
current_week_start = new_time.strftime('%Y-%m-%d 00:00:00')
case "Sunday":
current_time = datetime.datetime.strptime(formatted_time, '%Y-%m-%d %H:%M:%S')
days_to_subtract = 1
new_time = (current_time - datetime.timedelta(days=days_to_subtract))
current_week_start = new_time.strftime('%Y-%m-%d 00:00:00') #the beginning of the current week
next_week = (new_time - datetime.timedelta(days=-6))
current_week_end = next_week.strftime('%Y-%m-%d 23:59:59') #the ending of the current week
results = []
results.append(current_week_start)
results.append(current_week_end)
return(results)
print('The beginning of the current week is: ', current_week_calculator()[0])
print('The ending of the current week is: ', current_week_calculator()[1])