yaml自定义时间的怎么范围查询

runjs和dataview的实现方式和思路不同,dataview有一个容器可以输出结果,runjs没有一个容器可以输出结果,至于输出哪里,还是存储起来,或者提供给其他程序使用,看你需求

使用runjs,有些dataview里的输出函数不能用,因为它无法直接输出。

比如可以按如下逻辑去进行处理

const dv = DataviewAPI;

// ....... 其他代码

// 获取今日之前的数据
const beforeToday = dv.pages().filter(p=>p.ctime&&new Date(p.ctime) < new Date(new Date().setHours(0, 0, 0, 0))).map(p=>p.file.link);

// 获取start和end之间的数据
const start = '2024-01-01 00:00:00';
const end = '2024-12-02 23:59:59';
const betweenStartAndEnd = dv.pages().filter(p=>p.ctime&&new Date(p.ctime) >= new Date(start)&&new Date(p.ctime) <= new Date(end)).map(p=>p.file.link);

// 然后拿到数据后怎么处理,看你需求,参考上文解释
// ...... 自行处理逻辑

注意,这里的beforeToday和betweenStartAndEnd返回结果是dataview对象,至于怎么使用,可以打印输出下获取对象结构,进一步处理即可。

如果将内容在名为「a笔记」输出的话,应该怎么写呢?

比如

let content = '';
beforeToday.values.forEach(p => {
    content += `- ${p.file.name}`;
});
app.vault.adapter.write("a笔记.md", content);

可参考:dataview + runjs实现生成归档和分类列表 中的代码

非常感谢,我有空研究下 :pray: