给 iOS 简单设置你需要的「节假日闹钟」

2 min


对于国内用户来说, 不支持节假日闹钟向来是一大痛点。相信大家都有忘记调闹钟而遇到假期八点被吵醒、调休十点还在睡的窘迫情况。

最近,伴随着 iOS 16 的更新, 也为「大陆节假日」这一订阅日历加上了调休提醒。在 iOS 16 的日历中,你甚至可以直接在日历页面看到「休」和「班」的字样。

得益于这一特性,我们终于可以借助快捷指令来实现「节假日闹钟」的功能,让闹钟自动根据上班情况来开关。

快捷指令概览

? 点此下载快捷指令

在编写快捷指令前,我建议先分别设置一个工作日响起的闹钟,以及一个周末响起的调休闹钟。在编写快捷指令的时候就可以直接调用,示例的时候也只需要修改闹钟名称即可套用。如果你只想设置一个闹钟也没关系,后文会提及单个闹钟的调休设置。

这个快捷指令的实现原理其实非常简单,只需要用到「获取临近日程」「如果」和「开关闹钟」三个动作。

首先,从「中国大陆节假日」日历中获取一个日程,将时间设为「今天」。这一动作的目的在于检查当天是否为节假日的特殊情况,如果能获取到日程,说明今天要么是假期,要么是调休;如果没有获取到日程,则说明当天是正常的工作日 / 周末。

清楚这一逻辑之后,下面的「如果」动作就非常好理解了。首先,我们要判断当天是否为特殊情况,如果没有特殊情况的话,就按照正常的休息情况打开「起床」闹钟,关闭「调休」闹钟。

随后,在「否则」里加入第二个「如果」判断,点击「临近日程」选择「标题」,设置为 如果 标题 包含 休,这一动作会在检测到当天是假日的情况下执行。因为「中国大陆节假日」日历中还会包含节气,此举可以避免误判。

最后在第二个如果的「否则」里加上打开调休闹钟的动作,这个快捷指令就完成了。因为调休日通常是周末,所以不需要修改「起床」闹钟也没问题。

但想要让这个快捷指令自动运行,我们还得在「自动化」里添加一个「指定时间」的自动化。我的时间设置是「每天 00:01」,操作则设置为「运行快捷指令」。这么做的好处在于可以简化自动化的创建流程,并且在后续需要修改的时候也更方便,直接修改快捷指令库里对应的快捷指令就行了。

在保存时记得关闭「运行前询问」和「运行时通知」,这样自动化在运行的时候就不会发出通知打扰你,真正实现「无痕」体验。

因为快捷指令里用到了 2 个「如果」判断,对于不熟悉快捷指令的朋友来说可能会存在理解困难的问题。你可以参考下图来了解每一个「如果」里的模块都对应着哪种情况,方便你理解这些动作。

能否用一个闹钟解决问题?

? 点此下载快捷指令

前文提到的快捷指令之所以基于两个闹钟,其实是为了将区分周末与工作日的工作转嫁给闹钟,让快捷指令更加简洁清晰。其实,我们也可以只用一个闹钟来实现调休提醒。

只需要在第一个「如果」判断后再加一个「如果」来判断当天是不是工作日即可。我用的方法是格式化当前日期,只留下星期的数字,当这个数字小于 6 时便是周一至周五的工作日,如果你所在的公司是单休制,也可以把这个数字改成 7。

这样一来,只需要建一个闹钟就可以满足日常工作、假期关停、调休开启的需求了。当然,如果担心一个闹钟叫不醒你,也可以手动添加多个「开关闹钟」的动作并指向不同的闹钟。

用法

借助这一思路,其实我们还可以根据实际情况插件出更加更适合自己的「个性化」快捷指令。比如有些公司会实行大小周制度,那么在「格式化日期」的动作里将「e」改成「w」或「W」即可,小写 w 指的是当前星期是整年的第几周,而大写 W 则代表着当前星期是这个月的第几周。并根据实际情况调整下方「如果」判断的数字即可。

除此之外,对于值班制工作的人来说,也可对值班日历进行判断并自动开关闹钟。学生党也可以通过添加多重判断来实现上课提醒,或者结合日历课表来实现「早课自动闹钟」。

小结

这个快捷指令本身并没有特别复杂的地方,我们只需要理清逻辑,让快捷指令一步步判断今天是否要打开闹钟即可。得益于快捷指令支持无通知运行自动化,我们可以做到完全无缝的「节假日闹钟」体验,iOS 用户终于不用再羨慕 用户的节假日闹钟了。


Like it? Share with your friends!

0
Anonymous

Choose A Format
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Video
Youtube and Vimeo Embeds