# 把 Apple 日历导出为 Markdown

Mac 上每月一个文件，每天一个标题，重复的日程出现在每个发生的日子里。

[下载 Mac 版](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)

## 一个月，一个文件。

文件开头是这个月有什么，接着是每天一个标题、每个日程一行：时间、是什么、来自哪个日历、在哪里。

`2026-09.md`

```markdown
---
title: "日历，2026 年 9 月"
created: 2026-09-01T09:00:00
tags:
  - "calendar"
month: 2026-09
events: 284
calendars: ["工作", "个人", "生日"]
---

## 2026-09-17, 星期四

- all day 玛丽莲生日 · 生日
- 09:30-10:00 站会 · 工作 · Zoom [repeats:: weekly] [with:: 6]
- 13:00-14:00 和 Kevin 吃午饭 · 个人 · Philz Coffee
- 19:00-22:00 SF Database Meetup · 工作 · 655 Montgomery St

## 2026-09-19, 星期六

- all day, 3 days 里斯本 · 个人
- 08:00 SFO 飞 LIS · 工作
```

## 导出什么

每月一个文件，都放在一个文件夹里。没有日程的月份不会生成文件。

- 每天一个标题: 先是全天日程，然后按开始时间排，这正是日历画一天的顺序。全天日程就写成全天，而不是凭空得到一个从未有过的零点。
- 重复出现在每个发生的日子里: 每周的站会每周都在，而不是只有一次。Exporter 读的是日历自己保存的发生记录，所以文件和 app 显示的一致。
- 每个日程来自哪个日历: 工作、个人、共享日历或订阅日历。当月用到的日历写在前置信息里，vault 可以据此筛选。
- 在哪里: 会议室、场地或地址，日程带什么就写什么。视频通话的链接以 `join::` 放在同一行。
- 按账户分组，而不是一长串: 选择器按账户把日历归类，和日历的边栏一样，所以取消一个勾就能把整个账户排除在外。
- 往回读多久: 今年、2 年、5 年或全部，在卡片上选。日历本身只保存大约两年的发生记录，能读的也就这些。

## 怎么用

1. 连接日历: 会在日历自己的文件夹里打开一个窗口：点“选择此文件夹”。Exporter 读取其中的数据库，macOS 从不索取日历权限。
2. 选择日历: 所有日历默认勾选，按账户归类。取消一个，它的日程会在下次同步时从各月份里消失。
3. 自动同步: 按 sync。每个月成为一个文件，移动一个日程会在一分钟内重写那个月。

工作原理: [文档：日历](https://exporter.dev/zh-hans/docs/calendar) · 指南: [留住你的日历](https://exporter.dev/zh-hans/guides/calendar/keep-your-calendar)

## 问题

### 这会索取日历权限吗？

不会。Exporter 通过你授权的文件夹读取日历自己的数据库，而不是通过 EventKit，所以不会弹出权限对话框，也不会碰到其他 app。

### 为什么按月一个文件，而不是每个日程一个？

一年是几百个日程和十二个能读的文件。每个日程一个文件，就是一整个文件夹的一行笔记。

### 免费的部分是什么？

前 100 个事件会导出并持续免费同步。解锁日历是 Exporter 里的一次性购买。

### 邀请和参与者包含在内吗？

行里会写一个日程有多少人。他们的姓名和答复留在日历里。

### 有东西被上传吗？

没有。Exporter 读取你的日历，把文件写在你的 Mac 上。没有账户，没有服务器。

## 与其他做法相比

日历能导出 .ics，那是给另一个日历用的格式，不是用来读或搜的。

| | Exporter | 导出 .ics | 截图 |
|---|---|---|---|
| 可读的 Markdown | 是 | 否 | 否 |
| 每月一个文件，每天一个标题 | 是 | 否 | 否 |
| 重复出现在每一天 | 是 | 否 | 是 |
| 所有日历一次导出 | 是 | 一个一个来 | 否 |
| 持续同步 | 是 | 否 | 否 |
| 价格 | 100 个事件免费，之后一次性购买 | 免费 | 免费 |

## 让 Claude 读你的日历

导出的月份可以通过 Exporter 的本地 MCP 服务器搜索。[去设置](https://exporter.dev/docs/mcp)。

连接 Claude Code。 然后问：“我九月做了什么，谁见了两次？”Claude 会把每个月当作文件来读。

```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```

## Related

- [提醒事项](https://exporter.dev/zh-hans/reminders): 每个列表一份 Markdown 清单
- [将 Apple 备忘录导出为 Markdown](https://exporter.dev/zh-hans/notes): Apple 备忘录转 Markdown，保持同步
- [MCP 服务器](https://exporter.dev/zh-hans/docs/mcp): 连接 Claude 和其他智能体

---

human version: https://exporter.dev/zh-hans/calendar
every page: https://exporter.dev/llms.txt
