# 日历

日历导出是怎么工作的，从连接到排查问题。

## 连接

在 Exporter 主页上点日历旁边的「连接」，然后点「打开日历文件夹」。窗口会在日历自己的文件夹 `~/Library/Group Containers/group.com.apple.calendar` 里打开：点「选择此文件夹」。然后选择文件存放位置，点「使用这个文件夹」。

macOS 不会索取日历权限，Exporter 也从不索取：日程是从你授权的那个文件夹里的数据库读出来的，不走 EventKit。你在别的 app 见过的权限对话框，属于另一条路。

## 文件去哪里

每月一个 Markdown 文件，放在一个文件夹里：`2026-09.md`、`2026-10.md`。直接位于个人文件夹下的目录，比如 `~/Documents`，里面会建一个 `calendar-export` 文件夹；更深的目录，比如 `~/Documents/calendar`，会原样使用。没有日程的月份不会生成文件。

## 导出哪些内容

卡片上勾选的日历里的每个日程，都在设定的时间范围内。选择器按账户把日历归类，和日历的边栏一样，所以取消一个勾就能排除一个账户。

一个日程归入它开始的那个月，只归一次，即使它延续到月底之后也一样。

## 重复

重复的日程出现在每个发生的日子里，而不只是创建它的那天。Exporter 读的是日历为自己的视图保存的发生记录，所以文件和 app 一致，行里也会写明它如何重复。

## 格式

始终是 Markdown：月份的前置信息，然后每天一个标题、每个日程一行。

一天从全天日程开始，然后按开始时间排列，这正是日历画它的顺序。全天日程写「all day」，绝不会凭空多出一个 00:00。

## 文件内容

| 键 | 含义 |
| --- | --- |
| `title`、`month` | 「日历，2026 年 9 月」和 `2026-09` |
| `events` | 这个文件里有多少日程 |
| `calendars` | 当月的日历，最多的排在前面 |

一行是时间、日程、来自哪个日历、在哪里，之后是 vault 可以查询的字段：

| 字段 | 含义 |
| --- | --- |
| `repeats::` | `daily`、`weekly`、`every 2 weeks` |
| `join::` | 日程带有视频通话链接时的链接 |
| `with::` | 有多少人参与 |

```markdown
## 2026-09-17, 星期四

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

## 往回读多久

卡片上的「reads」一行：今年、2 年、5 年或全部。它决定写出哪些文件，范围越窄导出越小。

日历为自己的视图保存大约两年的发生记录，能读的也就这些：在真实的 Mac 上，2 年、5 年和全部返回的是同一批日程。「全部」指这台 Mac 上有的全部，而不是曾经发生过的全部。

## 免费与解锁

前 100 个事件免费，而且一直免费。解锁日历会导出其余部分（[价格](https://exporter.dev/pricing)）。

## 同步与完全重新同步

第一次「sync now」之后，只要某个月里有变化，Exporter 就会重写那个月，最快每分钟一次。移动一个日程只会重写它所在的那个月。

「full resync」会先询问，然后删除 Exporter 写过的月份文件，并把每个勾选的日历重新写一遍。文件夹里的其他东西都会保留。

## 问题与办法

- 「no calendar database in that folder (pick the Calendar folder itself)」：再次点「connect」，选择窗口打开时所在的那个文件夹
- 少了一个日历：它在卡片上被取消了勾选，或者整个账户被取消了。选择器按账户归类
- 少了旧日程：「reads」那一行设成了更短的范围，或者日历自己也不再保存它们
- 提醒事项混进了导出：日历会把安排了时间的提醒事项显示为一个单独的日历。在卡片上取消「Reminders」账户的勾选

## Related

- [日历](https://exporter.dev/zh-hans/calendar): 每个月一个 Markdown 文件
- [提醒事项](https://exporter.dev/zh-hans/docs/reminders): 列表文件、字段和修复
- [MCP 服务器](https://exporter.dev/zh-hans/docs/mcp): 连接 Claude 和其他智能体

---

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