习惯记录器会为你添加的每个习惯提供一行带颜色标记的记录,配一个滚动的 30 天日历、一个当前连续天数计数器和一个总完成次数。你按名称添加习惯,完成时勾选对应日期,数据保存在浏览器里——不需要账号,不联网同步,也不经过服务器。
30 天网格是怎么运作的
每一行正好有 30 个格子,横向排 10 个、纵向 3 行,最后一天是今天。最左边的格子是 29 天前,最右边是今天。完成的那一天用该习惯的颜色填满,未完成则保持浅灰色。点击任意格子即可切换那个日期,所以补记上周二是点一下的事。每个格子里显示日期数字(1–31),悬停时会露出完整的星期和日期。
连续天数是怎么计算的
连续天数是以今天为终点、连续完成的天数。这条规则有一个尖锐的边界:如果今天没有标记为完成,连续天数就是 0,无论截至昨天的那段记录有多长。当今天已完成时,工具会一天一天往回走,在第一个断点处停下。
streak(habit, today) =
today complete ? 1 + streak(habit, yesterday) : 0
相比之下,完成次数只是所有已存储日期中为真的条目数量。它永不重置,也不理会断点。
实操示例:培养一个阅读习惯
假设你在周一添加了一个叫 Read 20 pages 的习惯,接下来两周你每天都勾选,只有一个周五漏掉了。到了下周一早上:
- 30 天网格显示 14 个有颜色的格子,外加一个灰色的周五。
- 完成次数显示 13。
- 连续天数在你还没勾选周一之前可能显示 0,勾上之后则显示 4——把周一、周日、周六和周四算进去,这段记录在漏掉的周五处终止。
如果你随后点一下那个漏掉的周五补上,连续天数会重算,现在能一直回溯到整段时期,因为唯一的断点消失了。
哪些会持久保存,哪些缺失
每次添加习惯或切换日期时,所有数据都会写入 localStorage 的 handytools-habits 键。只要你不清除站点数据,刷新或重启浏览器后历史都会重新出现。有两点局限值得事先知道:没有删除或重命名习惯的控件,也没有历史最长连续天数这个数字。想要重来,你得清除站点存储,而那会把所有习惯一起删掉。每个新习惯采用你在颜色输入框里选的颜色,不做选择时则使用默认显示的蓝色色块;调色板里有十种预设颜色,但选择器接受任何十六进制值。
设计一个值得追踪的习惯
记录器会原样记录你决定衡量的东西,所以衡量什么本身很重要。像 Get fit 这样含糊的条目没东西可勾。一个你做了或没做的具体动作——Walk 20 minutes、Read 10 pages、No soda——才能产生一个没有歧义的格子和一段诚实的连续记录。把每日目标定得足够小,让糟糕的一天也仍有成功的余地;两分钟版本的微习惯更容易坚持,也依然能让网格保持绿色。
实用技巧与预期
30 天的窗口足够长,能看出真正的坚持;又足够短,一眼就能扫完。一块连续的颜色说明习惯已经养成;棋盘状的分布说明动力是一阵一阵来的;一段很长的灰色之后接上绿色,通常意味着你最近重新开始了。由于这个窗口每天都在向前滚动,一个月前看似剧烈的断档最终会从左边滑出去——当你想往前走、不再盯着旧失败时,这很有用。
一个现实的预期
大多数人在头两周内就会漏掉一天。记录器正是为此而设计的:漏掉只是一格空白,事后再补上就能同时修复视觉记录和连续天数。它做不到的是让习惯自动形成——网格只反映你输入的内容。如果你发现自己一次补好几天的记录,这个习惯多半定得太激进,目标应该缩小。
实用的追踪建议
- 把清单保持得短。 三到五个习惯能放进一屏,也更容易保持诚实;十几行会诱使你滑过那些正在回避的项目。
- 当天补记。 因为午夜一过可能把连续天数清零,事情当天做完就当天勾选。
- 用不同颜色区分。 颜色选择器是自由式的,给相关习惯设不同色调,扫一眼网格就不必逐个读名字。
- 把漏掉的一天当作数据。 网格让断点一目了然;目标是避免连续漏两天,而不是追求完美记录。
相关工具
常见问题
昨天明明完成了,为什么连续天数还是零?
连续天数只有在今天被标记为完成时才会开始计数。计数器是从今天往前回溯的,所以新的一天刚开始时,在你勾上今天的方框之前,连续天数显示为 0。完成今天之后,之前那段连续记录会被计入并恢复。
能只删掉一个习惯,而不清空全部吗?
当前界面里没有删除控件。习惯可以添加、日期可以切换,但移除一个习惯的唯一办法是清除本站点的 localStorage,而那会一次性抹掉所有习惯和历史。
记录器会记住我以前最长连续过多少天吗?
不会。它只计算并显示当前连续天数,没有历史最佳这个数字。所以一旦中断,之前的纪录不会在界面的任何位置保留下来。
用哪个时区来判定日期分界?
日历上的标签用的是你的本地日期,但连续天数函数比较的是由 UTC 生成的 ISO 日期字符串。临近午夜,或设备时区与 UTC 不一致时,连续天数看到的「今天」可能落后于网格里显示的日期。
能补填上周漏掉的那一天吗?
可以。30 天网格里的每个格子都可点击,所以任何过去的日子都能切换为完成或未完成。完成次数会立即更新,连续天数则从今天重新计算。
我的习惯数据存在哪里?
存在本浏览器的 localStorage 中,键名是 handytools-habits。关闭标签页后它仍然存在,但绑定在一台设备的一个浏览器上。清除站点数据、使用无痕模式或更换浏览器,都会让你从一个空的记录器开始。
由 HandyTools Hub 团队审校 · 最后更新