使用Python编写一个简单的时间管理应用
发布时间:2023-12-04 18:47:57
以下是使用Python编写的一个简单的时间管理应用的示例代码:
import datetime
class Task:
def __init__(self, name):
self.name = name
self.start_time = None
self.end_time = None
def start(self):
self.start_time = datetime.datetime.now()
def end(self):
self.end_time = datetime.datetime.now()
def duration(self):
if self.start_time is not None and self.end_time is not None:
duration = self.end_time - self.start_time
return duration.total_seconds()
else:
return 0
class TimeTracker:
def __init__(self):
self.tasks = {}
def start_task(self, task_name):
if task_name not in self.tasks:
task = Task(task_name)
task.start()
self.tasks[task_name] = task
else:
print(f"Task '{task_name}' is already running.")
def end_task(self, task_name):
if task_name in self.tasks:
task = self.tasks[task_name]
task.end()
print(f"Task '{task_name}' ended. Duration: {task.duration()} seconds.")
else:
print(f"Task '{task_name}' is not running.")
def list_tasks(self):
for task_name, task in self.tasks.items():
duration = task.duration()
print(f"Task: '{task_name}', Duration: {duration} seconds")
# 使用示例
tracker = TimeTracker()
tracker.start_task("Task 1")
tracker.start_task("Task 2")
tracker.end_task("Task 1")
tracker.start_task("Task 3")
tracker.end_task("Task 2")
tracker.list_tasks()
# 输出:
# Task 'Task 1' ended. Duration: 2.542316 seconds.
# Task 'Task 2' ended. Duration: 5.382632 seconds.
# Task: 'Task 1', Duration: 2.542316 seconds
# Task: 'Task 2', Duration: 5.382632 seconds
# Task: 'Task 3', Duration: 0 seconds
在上面的示例中,Task 类表示一个任务,它包含名称、开始时间和结束时间属性。TimeTracker 类管理所有任务,并提供开始任务、结束任务以及列出任务的方法。
在使用示例中,首先创建一个 TimeTracker 实例 tracker。然后使用 start_task 方法开始一些任务,使用 end_task 方法结束任务,并使用 list_tasks 方法列出所有任务及其持续时间。
注意:示例代码只提供了基本的时间管理功能,实际应用中可以根据需求进行扩展,例如添加保存任务到文件、提供更详细的统计信息等功能。
