Oct-15-2022, 05:49 PM
You scheduled all your events for the same time (Current_DateTime.timestamp()). When you print a datetime object it uses the default datetime format. If you want a specific format you need to use datetime.strftime(format_str) with an appropriate format str.
import sched import time from datetime import datetime, timedelta time_format = "%I:%M:%S %p" def send_reminder(message): print(f"{datetime.now().strftime(message)}> {message}") def schedule_reminder(scheduled_time): """Schedule a reminder""" schedule.enterabs( time=scheduled_time.timestamp(), priority=1, action=send_reminder, argument=(scheduled_time.strftime(time_format),)) schedule = sched.scheduler(time.time) now = datetime.now() for delay in (0.1, 0.2, 0.5, 1): schedule_reminder(now + timedelta(minutes=delay)) while not schedule.empty(): schedule.run()
Output:12:51:04 PM> 12:51:04 PM
12:51:10 PM> 12:51:10 PM
12:51:28 PM> 12:51:28 PM
12:51:58 PM> 12:51:58 PM