请问如何让dataview使用yaml区的时间进行检索呢

原来我是直接使用dataview自带的元信息进行检索,后来发现同步有时候会更改文件的元信息,所以我现在就把文件的创建时间和更新时间写在yaml区了,只是这样,我才疏学浅,改不来dv的代码,特来求助

我以前正常使用的,使用dv元信息的,检索一周内有过更新的文件的代码如下

Table without id file.link as 一周内有过更新的文件列表,file.mtime as 更新时间降序
From ""
WHERE  file.mtime  >= date(today) - dur(7 day) 
Sort file.mtime desc

我在yaml区写的时间信息如下
created: 2022-12-26 19:06:48 星期一晚上
modified: 2022-12-26 20:21:08 星期一晚上

我现在想把dataview的通过file.mtime元信息检索的方式,转成使用yaml区的modified键值来进行检索。我尝试使用了where contains的方式,但是因为modified后面的时间是不断变动的,所以失败了 :joy:
还请诸位大神不吝赐教

file.mtime是文件属性里的修改时间, 不是yaml里的键值

是的,可能是我没写清楚。我上面贴的那个dv代码,是现在可以正常使用的,使用dv元信息的代码
但是我现在想把它转成使用yaml里的键值,但是不知道应该如何更改才行 :sob:

把file.mtime换成你自己的值modified不就行拉?

感谢,我试着换了,但是时间上不对了,使用元信息的时候就是7天准的,换成yaml区的键值之后,就变成所有时间都包含了,不止是7天了。我甚至把一个文件的modified改成了2021年,居然还是出现在了dataview的结果下面 :rofl:

我修改之后的dv代码如下

Table without id file.link as 一周内更新过的文件列表,modified as 更新时间降序
From ""
WHERE  modified  >= date(today) - dur(7 day) 
Sort modified desc

大佬看看是不是哪里改错了?

应该是时间格式问题, 要不你把yaml全部改成标准的格式, 或者直接改用js, 用js的moment把modified格式化就行了

有同样问题。
是打算做一个显示未来一周节日的表格,按照上面的代码试了下,写成这样算是能用了:

WHERE 日期 <= date(today) + dur(7 day) and 日期 >= date(today)

yaml中的值是字符串,date()出来的是moment时间对象,需要用转换函数