【问题标题】:How to do a SMW query based on the current year/month/etc.?如何根据当前年/月/等进行 SMW 查询?
【发布时间】:2021-03-29 13:14:18
【问题描述】:

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

【问题讨论】:

    标签: semantic-mediawiki


    【解决方案1】:

    使用{{#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}}]]
    }}
    
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-09-30
        • 2016-03-22
        • 1970-01-01
        • 2018-06-07
        • 1970-01-01
        • 2019-12-06
        • 2014-09-07
        • 2011-09-11
        • 1970-01-01
        相关资源
        最近更新 更多