# 用 Shortcuts 在桌面做一个倒数日小部件

> 本文公开全文。

原文：https://utgd.net/article/9693

参与以下两种软件的相关讨论，最容易暴露年龄：第一类是主题美化，第二类就是倒数日。

撇除开玩笑的成分，倒数日确实很有市场，在 iPhone 4 攻城略地之时，Android 阵营曾抛出一系列号称刚需——尽管我不喜欢这个词——的功能，其中就包括倒数日。十多年前，几乎每一台三星或 HTC 手机的靓照上，都有一个集成了翻页日历、倒数日和动态天气的小部件，充满了商务气息，似乎在暗示，这些 Android 旗舰才是成功人士的选择。

白驹过隙，时至今日，iOS 已经稳坐半壁江山，而在战国时代也仅仅有战术意义而无战略价值的倒数日，当然是苹果看不上的。即便在通知中心小部件和桌面小组件放开之后，通常也要指望第三方软件。

不过，总有人怀念这些官方没空搭理的小功能，也 有人 用桌面小组件实现了倒数日。我本不愿居于人后，但倒数日的原生方案至今仍鲜有人问津，因此我也不怕当一回第二（尽管效果大不相同），分享自己的方案。你可以先在下面下载 Shortcuts 动作，同时可以在我的 GitHub 上及时受到更新。

Shortcuts 动作下载：创建倒数日

Shortcuts 动作下载：删除倒数日

## 批量创建倒数日

自 iOS 14 开始，我就一直以小组件显示事件倒计时，并且做了一套完整的倒数日批量生成/删除 Shortcuts（快捷指令）动作。

倒数日本质上也是一个日程，只不过带有进度信息。而进度信息既可以写进日程备注，也可以直接写入日程标题，不见得要为此专门装一个软件。一旦意识到倒数日和普通日程之间没有本质差别，后续的工作就简单了——最简单的做法，就是把日程写成 日程 当前天数/总天数 的形式，例如 交材料 1/10，表示还有 10 天上交材料，今天是第 1 天。而当新一天的晨光降临时，交材料 2/10、交材料 3/10、交材料 3/10 等事项就会自动更新。

创建倒数日时，只需先输入日程名称，再根据提示选好截止日期与开始日期，即可批量创建前述格式的倒数日日程。倒数日的开始日默认就是当前日期，这个预设多少可以减少一些操作；随后如何计算总天数，以及如何草拟日程标题并批量导入日历，就是 Shortcuts 的工作了，使用者不再需要操心。

默认情况下，倒数日日程和普通日程会显示在同一个小组件中。我不喜欢功能杂糅的工具，亲手制作 Shortcuts 动作时当然也有所坚持，因此动作和小组件都的功能都非常明确：Shortcuts 只负责创建倒数日，不管其他日历或任务管理方面的需求；小组件只显示倒数日，不管其他的日程。为专物专用，可以长按桌面小组件，编辑之，取消默认的镜像选项，转而只选择包含倒数日的日历。

小组件有不同大小，显示效果也有差异，如果需要在小号或中号（如上图）组件中显示日程名，则最好取名从简。盖日程标题和到期天数也会影响显示效果，若是标题太长，则末尾的文字会显示为 …，那就看不到最后的数字，和显示到期天数的初衷南辕北辙了。不过，如果更习惯使用大号桌面组件，则可以用将近一整个屏幕的宽度显示日程，通常就无所谓标题字数限制。

## 批量清理倒数日

随着创建倒数日一同而来的问题，就是如何批量清理它们。这不是精神洁癖，非得把已经过去的日程删除干净；而是万一需要更改日程，则如何批量删除已经创建的倒数日，从而为新事项让路。

删除时，只需要运行 Shortcuts 动作，输入想删除之事的关键词（不用输全，输入一部分即可），随后 Shortcuts 就会在今后的日程中——已经过去的日程，一般没有必要删除，否则真的是精神洁癖了——找出符合关键词的、属于倒数日性质的日程，以供进一步选择并一次性删除。

至于为何 Shortcuts 能够识别“倒数日性质”的日程，其实背后的工作在创建日程时已经完成了。我在批量创建倒数日时，就给所有日程添加了备注 countBackwards，回头寻找倒数日就时就沿着这些预先准备好的面包屑，不会遗漏，也不会误删其他日程。

设计批量创建的 Shortcuts 动作时，难免走一些弯路，创建一堆格式错误的日程，连我自己都不愿意挨个删除它们，读者想必也是同样的兴趣。因此在设计了批量创建的动作后，紧接着做一个批量删除的动作，也是顺水推舟。

## 小结

清理倒数日，又是 Shortcuts 的一大妙用。和以往风光一时的下载视频、扒取图片或远程控制等等动作不同，创建或删除倒数日，所涉及的步骤均较为简单。当初 Hum 随口和我提了一嘴，说桌面小组件可以用来显示倒数日；我没多问，聊天的时候顺手就做了一套 Shortcuts 动作，后续只是小修小补。整套动作的关键不在于工程细节，而是能不能想到用好小组件，以及有没有用 Shortcuts 批处理的习惯。

相较桌面小组件，发布不久的 iOS 16 的锁屏小部件是另一套逻辑，而暂时未见 Shortcuts 对此有何反应。不过，只要还记得 Shortcuts 的自动化潜力，则只需要配合第三方软件，或者等 Shortcuts 支持锁屏小部件，则时髦的视觉呈现效果也是举手之劳。

---

[前往标准阅读页](https://utgd.net/article/9693?audience=web)
