-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreminder.py
More file actions
46 lines (38 loc) · 1.56 KB
/
reminder.py
File metadata and controls
46 lines (38 loc) · 1.56 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
34
35
36
37
38
39
40
41
42
43
44
45
46
import tkinter as tk
from datetime import datetime, timezone
import threading
class Clock:
def __init__(self, master):
self.master = master
self.time = tk.StringVar()
self.reminder_time = None
self.reminder_set = False
self.label = tk.Label(master, textvariable=self.time, font=('Arial', 24))
self.label.pack()
self.set_reminder_button = tk.Button(master, text="Set Reminder", command=self.set_reminder)
self.set_reminder_button.pack()
self.update_time()
def update_time(self):
self.time.set(datetime.now(timezone.utc).strftime('%H:%M:%S'))
self.master.after(1000, self.update_time)
def set_reminder(self):
if not self.reminder_set:
self.reminder_time = input("Enter reminder time (HH:MM:SS): ")
try:
self.reminder_time = datetime.strptime(self.reminder_time, '%H:%M:%S').replace(tzinfo=timezone.utc)
self.reminder_set = True
threading.Thread(target=self.check_reminder).start()
except ValueError:
print("Invalid time format. Please enter time in HH:MM:SS format.")
else:
print("Reminder already set.")
def check_reminder(self):
while True:
if datetime.now(timezone.utc) >= self.reminder_time:
print("Reminder: Time's up!")
self.reminder_set = False
break
self.master.after(1000)
root = tk.Tk()
clock = Clock(root)
root.mainloop()