如何根据当前年/月/等进行SMW查询?

问题描述

我想根据当前年份和月份信息执行 SMW 查询。问题:似乎我需要以非静态方式将值输入 SMW ask 部分,因为我无法对这些值进行硬编码。我怎样才能做到这一点并执行这样的查询

解决方法

使用{{#time:}} parser function。 SMW 能够理解的日期格式被指定为 here。下面,我使用了 d.m.Yd xg Y,它们肯定可以在俄语维基中使用。

使用 Unix 格式(U,自 Unix 时代以来的秒数;使用 @ 将其转换回日期对象)进行日期算术。

示例(假设您激活了特殊属性 Creation date):

<!-- Pages created today -->
{{#ask:
[[Creation date::>={{#time:d.m.Y}}]]
}}

<!-- Pages created yesterday -->
{{#ask:
[[Creation date::>={{#time:d xg Y|@{{#expr:{{#time:U}}-86400}}}}]]
[[Creation date::<{{#time:d xg Y}}]]
}}

,

您也可以使用 MediaWiki 魔术词 https://www.mediawiki.org/wiki/Help:Magic_words/de 例如

{{#ask:
[[Modification date::>={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}]]
}}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...