用Do Button,Do Note和Google电子表格做自己的时间记录器

想提高自己的生活质量、工作学习效率,最重要的是掌控自己的时间。而要掌控时间,首先得搞明白自己这一天的时间都去哪儿了?市面上的个人时间记录软件产品一抓一大把,各有优劣,但是能够让你真正全权掌握自己的时间记录数据(至少要做到可随时记录,可随时导出为通用格式)的却是凤毛麟角。今天想说的就是尽量不求人,自己来,利用IFTTT的Do Button和Do Note两个应用以及Google Drive的电子表格来记录自己的一整天。
IFTTT是各种互联网服务、工具的粘合剂,她让你自己定制各种规则(If this)来触发另一些行为(then that),比如:如果收到来自重要客户的邮件就给自己手机发送内容为邮件标题的短信息;或者:如果在Pocket(稍后再读的内容聚合移动应用)中将某篇文章加了星标就将这篇文章保存到自己的Evernote笔记中……
已经很方便了吧?没想到,春节时IFTTT又推出了Do Button和Do Note两个应用,让移动终端用户能够更加方便!简单地说,Do Button干的就是在你的手机桌面上放置最多3个按钮,每个按钮对应一个互联网服务的行为。比如:按一下把家里的智能电灯打开;或者:按下按钮就给自己的爱人发送一封内容为当前时间和地理位置标题为“约吗?”的邮件:)而Do Note做的大同小异,就是在Do Button基础上多一个文字输入的步骤,就像:记下突然冒出来的灵感然后一键发送到自己的微博上。

所需材料介绍完毕,准备工作需要注册IFTTT帐号,在IFTTT中授权开通Google Drive频道,在手机上下载安装那两个应用,下面具体介绍一下我用这几样东西打造的睡眠时间、日常活动时间和消费记录的步骤:

睡眠时间记录

  1. 进入Do Button应用点击加号新建一个Recipe,类型选择Google Drive;
  2. Action选择Add row to spreadsheet;
  3. 给Recipe起个名字叫“洗洗睡了!”(或“开始数羊…”,随便你),填写电子表格的名字(如果没有这个名字的会自动替你新建)和保存路径,格式化数据行(Formatted row)中填写 {{OccurredAt}}|||start然后保存就行了;
  4. 再新建一个Recipe,类型和Action同上;
  5. 给Recipe起个名字叫“起了!”,电子表格的名字和路径要跟上面的一样,格式化数据行(Formatted row)中填写 {{OccurredAt}}|||end然后保存;
  6. 回到手机桌面,添加一个Do Button的widget,这样每天睡觉时就按一下标为“洗洗谁了”的按钮,起床后按“起了!”按钮(注意手机要联网),就可以把相应的睡觉、起床时间记录到自己的电子表格文件中了;
    如果你像我一样对数据的人性化展现有强迫症的话,还可以进一步对这个睡眠时间记录表做以下修改:
  7. 大家可能已经注意到了,IFTTT记录的时间格式是“March 18, 2015 at 07:01AM”这样的,不符合中国人的阅读习惯,最要命的是Google Drive Spreadsheet识别不出这是时间格式,也就无法进行任何计算。所以第一步是将这段原始数据文本转换为Google Drive能够识别的时间格式。为了实现这个目的,我们要先安装一个实现日期加减功能的函数,请点击电子表格上方菜单“插件”-“获取插件”,然后搜索安装Date Add and Subtract

    sc2
  8. 在已有数据的行中点击右侧空单元格,输入以下公式: =DATESUBTRACT(LEFT(A35, FIND(" at", A35)), "h", 13)+TIMEVALUE(RIGHT(A35,7))
    请注意,公式里三处A35中的数字应改为当前行数,DATESUBTRACT函数中最后一个参数13与你所在时区有关,需要自己测试找出合适的值;
    sc3
  9. 将刚刚输入公式的单元格所在列选中,将其显示格式修改为“YYYY-MM-DD HH:mm”, 这时应该可以看到单元格中显示出正常的时间数据了,如果时间不正确请调整前述提到的DATESUBTRACT函数中最后一个参数;

    sc4
  10. 有了能够计算的时间数据,现在就可以再增加一列自动计算的睡眠时长数据列了。请在时间数据右侧空单元格点击输入公式: =IF(B26="end", INDEX(A:D, ROW(), 4)-INDEX(A:D, ROW()-1, 4), "")
    请注意B26中的数字应改为当前行数,两个INDEX函数中最后一个参数4代表的是刚才设置好的时间数据的列数;
  11. 将刚刚输入公式的单元格所在列选中,将其显示格式修改为“持续时间”,这时应该可以看到在每一行记录了睡眠结束时间的行中计算出的睡眠时长数据了。想数据更直观的话还可以选中这一列中,右键菜单中选择“条件格式”,我的设置是当时长大于或等于8小时背景色为绿色,时长介于07:00:00-07:59:00时背景色为橙色,时长少于07:00:00时背景色为红色,就像这样:

    sc1

日常活动时间记录

  1. 进入Do Note应用点击加号新建一个Recipe,类型选择Google Drive;
  2. Action选择Add row to spreadsheet;
  3. 给Recipe起个名字叫“俺知道你去年夏天干了啥!”,填写电子表格的名字(如果没有这个名字的会自动替你新建)和保存路径,格式化数据行(Formatted row)中填写 {{OccurredAt}}|||{{NoteText}}然后保存;
  4. 当你需要记录刚才的日常活动时就进入Do Note应用选择这个Recipe,下一步需要输入一段文字,这时你可以将要记录的活动类型和活动时长(活动类型事先设计好几个,时长最好统一按分钟或番茄计算,每次只填数字)填进来,注意两个数据之间用|||分割(类似:“吃饭|||20”),这样才能在存入电子表格时分为两列数据,填好后点击下面的大按钮就可以了;
  5. 有了记录数据后我们可以进入Google电子表格中,按前述方法转换时间格式,设置一些分类统计,不再赘述。

消费记录

消费记录与日常活动时间记录大同小异,关键就是在填入文本时按自己设计好的数据顺序(比如:钱数,现金还是刷卡,花费类别,有无发票,备注……)依次填入,各数据间用|||分隔开就可以了。