千行
#1
原来我是直接使用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后面的时间是不断变动的,所以失败了 
还请诸位大神不吝赐教
班图
#2
file.mtime是文件属性里的修改时间, 不是yaml里的键值
千行
#3
是的,可能是我没写清楚。我上面贴的那个dv代码,是现在可以正常使用的,使用dv元信息的代码
但是我现在想把它转成使用yaml里的键值,但是不知道应该如何更改才行 
班图
#4
把file.mtime换成你自己的值modified不就行拉?
千行
#5
感谢,我试着换了,但是时间上不对了,使用元信息的时候就是7天准的,换成yaml区的键值之后,就变成所有时间都包含了,不止是7天了。我甚至把一个文件的modified改成了2021年,居然还是出现在了dataview的结果下面 
我修改之后的dv代码如下
Table without id file.link as 一周内更新过的文件列表,modified as 更新时间降序
From ""
WHERE modified >= date(today) - dur(7 day)
Sort modified desc
大佬看看是不是哪里改错了?
班图
#6
应该是时间格式问题, 要不你把yaml全部改成标准的格式, 或者直接改用js, 用js的moment把modified格式化就行了
xsdc
(xsdc)
#7
有同样问题。
是打算做一个显示未来一周节日的表格,按照上面的代码试了下,写成这样算是能用了:
WHERE 日期 <= date(today) + dur(7 day) and 日期 >= date(today)
yaml中的值是字符串,date()出来的是moment时间对象,需要用转换函数