给我提供一个日历应用程序的代码，并包括如何添加新事件的详细说明。
这里是一个示例日历应用程序代码:

```
class Event:
    def __init__(self, name, date):
        self.name = name
        self.date = date

class Calendar:
    def __init__(self):
        self.events = []

    def add_event(self, name, date):
        event = Event(name, date)
        self.events.append(event)

    def view_events(self):
        for event in self.events:
            print(event.name, event.date)

# 创建日历对象
cal = Calendar()

# 添加新事件
cal.add_event("生日派对", "2022-05-20")
cal.add_event("团队会议", "2022-06-01")

# 查看所有事件
cal.view_events()
```

这个应用程序包含两个类:`Event`和`Calendar`. `Event`类用于表示一个事件，包括事件名称和日期。`Calendar`类用于管理所有事件，具有添加事件和查看所有事件的方法。

要添加新事件，只需调用`Calendar`对象的`add_event`方法，并提供事件名称和日期。例如:`cal.add_event("生日派对", "2022-05-20")`.

在查看所有事件时，只需要调用`Calendar`对象的`view_events`方法即可。