【苹果手机】周末和法定节假日关闭闹钟

发布时间 2024-01-13 10:50:18作者: 我有我奥妙

参考

https://www.6hu.cc/archives/203577.html

步骤说明

1、创建起床闹钟,选择每天都运行

2、获取日历订阅,主要是得到法定节假日的休息和补班

(1)可以通过订阅苹果官方的中国法定节假日

(2)也可以自行编写ics文件,导入进来,可参考 https://www.cnblogs.com/masonblog/p/17961971

3、创建快捷指令,从日历中获取日程,判定当前日期是否需要开启起床闹钟

4、创建自动化,每天凌晨执行一下快捷指令,更新一下闹钟的开启和关闭状态

快捷指令实现过程

完整版

当前我自己在使用的版本,https://www.icloud.com/shortcuts/f6f4d104019246dda367b47c7f1d629a

基础版

关键配置的说明

(1)从[所有日历],line 1
可以选择单个日历或所有日历
(2)获取[2个日程],line 1
这里的个数可以调整,一般为3个
如果选择了[所有日历],订阅中默认带了2个,而你又新建了3个日程
这里只会获取到3个,也就获取不全了
测试了下,这里会按照日程字符倒序,可能会获取不到节假日信息了,影响判断
比如:
国庆10月1日,而且这天是周一到周五某一天,也就是正常的工作日
再写一个日程,内容为:原神启动1
再写一个日程,内容为:原神启动2
再写一个日程,内容为:原神启动3
再写一个日程,内容为:原神启动4
再写一个日程,内容为:原神启动5
这时,法定节假日订阅中1个[国庆(休)]的日程,再加上自己写的5个
按照排序规则取3个
只会取到,3条原神启动的日程
最终会判定为普通的工作日,也就会打开起床闹钟
(3)从[临近日程],line 2
获取到的日程信息,多个日程信息会换行展示
(4)获取[名称],line 2
即日程的名称

存在的问题

由于快捷指令执行的核心逻辑为获取日程信息,在下面的场景,会导致判断失误

当天,为星期一,也没有法定节假日的休息,也就是实际上为正常上班的

但是,在快捷指令执行前,你在日历中的这一天,新建日程,写了一句话,内容:好难受,想休息

当快捷指令运行时,获取日程后,其中就包含了"休"这个字,就会判定今天为休息,也就把你的起床闹钟关掉了

下面是测试结果

(1)在1月8号添加了日程

 (2)显示获取到的标题,这里标题和名称,2个属性,我都测试了下,都会触发这个错误的判定逻辑

 (3)执行判定逻辑,这里是打印,按照完整版快捷指令的逻辑,这里会把起床闹钟给关闭

 自动化实现过程

如下,创建一个自动化

当 每天的 00:01,这个时间看你把握,反正在你起床闹钟的时间前就行

执行 上面创建的快捷指令