参考下思路就好!不推荐使用,大概率是不适合你的,除非你直接同步我的日记记录方式,再者说了这代码写的也很烂…直接上预览图!!!👀
这个数据面板展示是由各个二级标题 → 每个任务耗时所汇总而来,在我手动处理的情况下,最快也要 10 分钟 左右,最下面我会提一下之前手动统计的过程,直接到底部
其实吧,我感觉把这件事情交给人来做,总会有算错的时候,有几次发现自己统计的时候漏掉了或者加错了。况且这种重复的劳动为啥我要一次次的浪费时间?让机器来做是最合适的,不过因为之前太懒的原因虽然把任务加到了 “代办清单” 里面,但一直没做,这几天有空了就稍微写下,发现其实蛮简单的,也遇到了一些小问题,不过都解决啦~
2023-05-20 花了两三天时间算是能用啦,当然还有很多不足之处,后续肯定会慢慢优化的!(继续堆屎)
2024-01-23 时隔半年,终于要重构啦!直接往 JS 里面写 HTML 代码的方式实在是看不下去了,实在改不动了…… 😭
2024-01-24 不搞那么多花里胡哨的东西了,简洁为主,用不到的功能全删掉!
代码地址
- 基本可用
- 自由匹配标题
- 可设置自定义匹配标题列表
- 匹配 Record 标题内定义好的数据写入原文件
- 生成 Record 标题以及相关统计信息插入原文件
- Record 内添加百分比显示
- 支持添加目录但只对最外层文件处理(不递归处理)
- 兼容单任务多个时间计算
- 修复临时模式异常
- 修复临时默认莫名其妙删除 Record 内统计冒号问题
- 优化临时默认
- 配置 uTools 可执行日记时长统计脚本(借助“快捷命令”插件)
- 调整无睡眠数据时统计面板样式
- 统一变量与函数命名
- 统计时长前后缀转换支持括号匹配
- 优化文件总时长计算
- 合并临时模式
- 文件列表自动过滤非 md 文件
- 更新 uTools 快捷命令的日记时长统计脚本为 JS 而不是 node(PS: 2024-01-24 补充,也没多快…)
- 去掉标题统计时长后面的百分比显示(基本不看)
- 将文件写入从同步更改为异步
- 多个睡眠数时合并
- 添加标题序号前缀
- 添加 HTML 样式输出
- 兼容临时模式样式输出
- 将总时长以
h:min
形式写入系统剪贴板 - 自动计算支出小记
- 自动计算收入小记
- 修复临时模式更新文件问题
- 配置个性化字体
- 正确的计算支出小记
- 加入支出/收入小记面板展示
- 微调布局样式
- 添加进度条显示
- 优化无时长统计模板样式
- 添加进度条百分比数值小球显示
- 美化进度条样式
- 重置默认字体
- 修复单任务进度 100% 时进度条小球会盖住时长问题
- 完善 tpl 文件处理
- 计算睡眠时间并录入
- 计算二级标题下任务列表时间并录入
- 计算文件总时长以及对应标题耗时百分比
- 计算金钱小记并录入
- 计算月度金钱小记
- 更新模板样式
- 添加金钱小记面板
- 输出总数据统计面板
- 将数据通过正则替换到 Record 中
- 修复正则替换错误问题
- 将 00:00 形式总时长写入系统剪贴板方便日记记录使用
- 支持传入文件路径 / 动态控制写入文件
- 修复相对路径和绝对路径处理问题
- 无时长列表数据展示
- 提供默认进度条样式
- 更新错误录入的睡眠数据
- 支持传入文件 / 文件目录参数进行批量处理
- 更新目录结构 / 提取导入文件路径
- 更新全局 data 数据为局部数据
- 优化数据录入处理
- 解决超多数据一次性输出在 uTools 面板上样式丢失的问题
- 修复标题内无任务时长的空数据录入
- 优化布局样式并调整细节
- 当总时长变更后才允许写入文件
- 总时长超过 24h 后统计面板将不显示
- 提供生成月度统计 HTML 功能(默认关闭)
- 兼容临时模式输出面板
- 修复金钱小记时缺少了小数单位
- 添加金钱小记的
k
的进制单位 - 由任务勾选来精确匹配睡眠数据录入
- 通过 run 函数返回阻断后续任务(只显示单个正在处理的任务面板)
- 通过参数限制生成统计 HTML 的日期
- 重新设计并更新金钱小记面板样式
- 重新设计并更新时长进度统计面板样式(舍弃进度百分比小圆点)
- 05-20 原文件上的 Record 信息
- 10-28 添加 uTools 统计面板
- 01-12 添加 uTools 统计面板进度条显示
- 01-20 优化 uTools 统计面板进度条样式
- 01-24 重写 HTML 还原样式
- 01-25 添加每日支出与收入
- 01-26 生成的时长统计 HTML 预览
- 03-08 更新金钱小记面板样式
第一个二级标题是『重要』,好那就从它开始,看到这个标题到下一个标题内的任务列表后面所记录的任务耗时,把它们在计算器一个个加起来,假设数据如何:
- 任务 1 20min
- 任务 2 50min / 15min + 10min | 25min
- 任务 6 2h35min
都是分钟的情况还好,直接加即可,但遇到 小时 单位要先将小时转分钟加起来,比如上面的 任务 6,两小时三十五分钟,就要先 +120 再 +35,如果这种数据很多,不小心输入了的情况很容易被打断不知道加到哪里了 😭
把所有任务列表后面的时间添加完毕,得到一个当前标题内总分钟,但需要的数据是 “小时 + 分钟” 的形式,所以要先变成小时单位,就是 ➗ 60,最后把剩下的分钟补上即可。
- 重要:5h05min
接着就是找第二个标题啦,重复第一步的操作……直到所有时长统计完毕,嗷,对了睡眠时长也要,一般是记录是从几点睡到几点,脑子想一下就行啦(当然有时候也会记错,是写了脚本跑之前的日记数据后才知道,居然还有两次算错了 😢)
最后的 Record 数据如下
- 睡眠:23:25-07:15 😴 7h50min
- 重要:5h05min
- 生活:2h10min
- 休闲:3h
- 其他:2h
把刚刚统计的所有时间汇总变成总时长,其实也简单,把对应标题耗时的前缀小时先拿出来,比如上面的数据 7+5+2+3+2,这就是 19 小时,然后计算分钟 50+5+10 换算为小时 + 分钟形式,也就是 1h05min,和 19h 加起来最后是:
总时长:20h05min