Dataview 实战:制作一个倒计时或者正计时列表

Dataview 是你进阶使用 Obsidian 中不可缺少的一步,通常我们会用 Dataview 来统计收集你的库中满足特定条件的所有笔记。但是你有没有想过,DQL 提供了很多关于时间的 字面量,我们完全可以用他们来记录时间。


这是一个从 https://pkmer.cn/pkmer-docs/10-obsidian/obsidian%e7%a4%be%e5%8c%ba%e6%8f%92%e4%bb%b6/dataview/dataview%e7%a4%be%e5%8c%ba%e5%ae%9e%e8%b7%b5%e7%bb%8f%e9%aa%8c/dataview%e5%ae%9e%e6%88%98-%e5%88%b6%e4%bd%9c%e4%b8%80%e4%b8%aa%e5%80%92%e8%ae%a1%e6%97%b6%e6%88%96%e8%80%85%e6%ad%a3%e8%ae%a1%e6%97%b6%e5%88%97%e8%a1%a8 下的原始话题分离的讨论话题

楼主您好,想问下为什么倒计时天数计算的不准呢

试了一下没发现有啥问题,
猜不出 “倒计时天数不准” 是啥意思, 也许跟操作系统设置的每周起始于周日/周一有关?

我这报错ReferenceError: round is not defined 是哪个地方设置不对么?

行内运行 Dataview 也有 Inline Query 和 JS Inline Query 两种, 默认前缀分别是 = xxx$= xxx

试了下 round 函数是 DQL 的, 不是 javascript 的, 试试改过来?

有改成$= xxx 格式试过,不行。我用$=dv.pages().length,是生效的

我这里直接用 “行内 DQL 语法” 默认前缀 = round(xxx) 触发, 是正常的

$= round(xxx) 报错也是对的 (js 里没这全局函数)


如果确认没有动过 dataview 的设置 Inline Query 前缀JS Inline Query 前缀, 那可能得打开控制台看看具体报啥错误

1 个赞

现在可以了。原来我以前修改过Inline Query的前缀。谢谢

1 个赞