Skip to content

fengstats/diary-duration-stats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前言

参考下思路就好!不推荐使用,大概率是不适合你的,除非你直接同步我的日记记录方式,再者说了这代码写的也很烂…直接上预览图!!!👀

日记时长统计-2024-03-09 预览-Zip.png

这个数据面板展示是由各个二级标题 → 每个任务耗时所汇总而来,在我手动处理的情况下,最快也要 10 分钟 左右,最下面我会提一下之前手动统计的过程,直接到底部

其实吧,我感觉把这件事情交给人来做,总会有算错的时候,有几次发现自己统计的时候漏掉了或者加错了。况且这种重复的劳动为啥我要一次次的浪费时间?让机器来做是最合适的,不过因为之前太懒的原因虽然把任务加到了 “代办清单” 里面,但一直没做,这几天有空了就稍微写下,发现其实蛮简单的,也遇到了一些小问题,不过都解决啦~

功能和迭代历史

2023-05-20 花了两三天时间算是能用啦,当然还有很多不足之处,后续肯定会慢慢优化的!(继续堆屎)

2024-01-23 时隔半年,终于要重构啦!直接往 JS 里面写 HTML 代码的方式实在是看不下去了,实在改不动了…… 😭

2024-01-24 不搞那么多花里胡哨的东西了,简洁为主,用不到的功能全删掉!

2023 迭代

代码地址

05 月

  • 基本可用
  • 自由匹配标题
  • 可设置自定义匹配标题列表
  • 匹配 Record 标题内定义好的数据写入原文件
  • 生成 Record 标题以及相关统计信息插入原文件
  • Record 内添加百分比显示
  • 支持添加目录但只对最外层文件处理(不递归处理)
  • 兼容单任务多个时间计算

06 月

  • 修复临时模式异常
  • 修复临时默认莫名其妙删除 Record 内统计冒号问题
  • 优化临时默认

10 月

  • 配置 uTools 可执行日记时长统计脚本(借助“快捷命令”插件)

12 月

  • 调整无睡眠数据时统计面板样式
  • 统一变量与函数命名
  • 统计时长前后缀转换支持括号匹配
  • 优化文件总时长计算
  • 合并临时模式
  • 文件列表自动过滤非 md 文件
  • 更新 uTools 快捷命令的日记时长统计脚本为 JS 而不是 node(PS: 2024-01-24 补充,也没多快…)
  • 去掉标题统计时长后面的百分比显示(基本不看)
  • 将文件写入从同步更改为异步
  • 多个睡眠数时合并
  • 添加标题序号前缀
  • 添加 HTML 样式输出
  • 兼容临时模式样式输出
  • 将总时长以 h:min 形式写入系统剪贴板
  • 自动计算支出小记
  • 自动计算收入小记
  • 修复临时模式更新文件问题
  • 配置个性化字体

2024 迭代

01 月

  • 正确的计算支出小记
  • 加入支出/收入小记面板展示
  • 微调布局样式
  • 添加进度条显示
  • 优化无时长统计模板样式
  • 添加进度条百分比数值小球显示
  • 美化进度条样式
  • 重置默认字体
  • 修复单任务进度 100% 时进度条小球会盖住时长问题

01-24 重构版本来啦!🎉

  • 完善 tpl 文件处理
  • 计算睡眠时间并录入
  • 计算二级标题下任务列表时间并录入
  • 计算文件总时长以及对应标题耗时百分比
  • 计算金钱小记并录入
  • 计算月度金钱小记
  • 更新模板样式
  • 添加金钱小记面板
  • 输出总数据统计面板
  • 将数据通过正则替换到 Record 中
  • 修复正则替换错误问题
  • 将 00:00 形式总时长写入系统剪贴板方便日记记录使用
  • 支持传入文件路径 / 动态控制写入文件
  • 修复相对路径和绝对路径处理问题
  • 无时长列表数据展示
  • 提供默认进度条样式
  • 更新错误录入的睡眠数据
  • 支持传入文件 / 文件目录参数进行批量处理
  • 更新目录结构 / 提取导入文件路径
  • 更新全局 data 数据为局部数据
  • 优化数据录入处理
  • 解决超多数据一次性输出在 uTools 面板上样式丢失的问题
  • 修复标题内无任务时长的空数据录入
  • 优化布局样式并调整细节
  • 当总时长变更后才允许写入文件
  • 总时长超过 24h 后统计面板将不显示
  • 提供生成月度统计 HTML 功能(默认关闭)
  • 兼容临时模式输出面板
  • 修复金钱小记时缺少了小数单位
  • 添加金钱小记的 k 的进制单位
  • 由任务勾选来精确匹配睡眠数据录入
  • 通过 run 函数返回阻断后续任务(只显示单个正在处理的任务面板)
  • 通过参数限制生成统计 HTML 的日期

03-08

  • 重新设计并更新金钱小记面板样式
  • 重新设计并更新时长进度统计面板样式(舍弃进度百分比小圆点)

2023 预览

  • 05-20 原文件上的 Record 信息

  • 10-28 添加 uTools 统计面板

2024 预览

  • 01-12 添加 uTools 统计面板进度条显示

  • 01-20 优化 uTools 统计面板进度条样式

  • 01-24 重写 HTML 还原样式

  • 01-25 添加每日支出与收入

  • 01-26 生成的时长统计 HTML 预览

01-15 至 01-21 时长预览.png

  • 03-08 更新金钱小记面板样式

日记时长统计-2024-03-08 预览

手动统计的受罪过程……

1. 找二级标题

第一个二级标题是『重要』,好那就从它开始,看到这个标题到下一个标题内的任务列表后面所记录的任务耗时,把它们在计算器一个个加起来,假设数据如何:

  • 任务 1 20min
  • 任务 2 50min / 15min + 10min | 25min
  • 任务 6 2h35min

都是分钟的情况还好,直接加即可,但遇到 小时 单位要先将小时转分钟加起来,比如上面的 任务 6,两小时三十五分钟,就要先 +120+35,如果这种数据很多,不小心输入了的情况很容易被打断不知道加到哪里了 😭

2. 再来一遍!

把所有任务列表后面的时间添加完毕,得到一个当前标题内总分钟,但需要的数据是 “小时 + 分钟” 的形式,所以要先变成小时单位,就是 ➗ 60,最后把剩下的分钟补上即可。

  • 重要:5h05min

接着就是找第二个标题啦,重复第一步的操作……直到所有时长统计完毕,嗷,对了睡眠时长也要,一般是记录是从几点睡到几点,脑子想一下就行啦(当然有时候也会记错,是写了脚本跑之前的日记数据后才知道,居然还有两次算错了 😢)

最后的 Record 数据如下

  • 睡眠:23:25-07:15 😴 7h50min
  • 重要:5h05min
  • 生活:2h10min
  • 休闲:3h
  • 其他:2h

3. 总时长统计

把刚刚统计的所有时间汇总变成总时长,其实也简单,把对应标题耗时的前缀小时先拿出来,比如上面的数据 7+5+2+3+2,这就是 19 小时,然后计算分钟 50+5+10 换算为小时 + 分钟形式,也就是 1h05min,和 19h 加起来最后是:

总时长:20h05min

About

🚀 自用日记时长统计脚本

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published