MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针

如果在编辑的过程中遇到了什么问题,可以去讨论板提问。

为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证

MCBBS Wiki GitHub群组已上线!

您可以在回声洞中发表吐槽!

服务器状态监控。点击进入

本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>

用户:CrablePotion/模板/TimeFilter:修订间差异

来自MCBBS Wiki
跳到导航 跳到搜索
无编辑摘要
(// Edit via Wikiplus)
 
(未显示同一用户的6个中间版本)
第1行: 第1行:
<onlyinclude>
<onlyinclude>{{
#vardefine:currentY|{{#time:Y|+{{{UTC|8}}} hours}}}}{{
{{#ifexpr:
{{#ifeq:{{#time:Y|now|+{{{UTC}}} hours}}|{{{年|}}}|1|0}}
#vardefine:currentM|{{#time:n|+{{{UTC|8}}} hours}}}}{{
#vardefine:currentD|{{#time:j|+{{{UTC|8}}} hours}}}}{{
+
#vardefine:matchdate|0}}{{
{{#ifeq:{{#time:n|now|+{{{UTC}}} hours}}|{{{月|}}}|1|0}}
#vardefine:matchrange|0}}{{
+
#ifexpr:{{
{{#ifeq:{{#time:j|now|+{{{UTC}}} hours}}|{{{日|}}}|1|0}}
#ifeq:{{#var:currentY}}|{{{年|}}}|1|0}} + {{#ifeq:{{#var:currentM}}|{{{月|}}}|1|0}} + {{#ifeq:{{#var:currentD}}|{{{日|}}}|1|0}}
> {{#expr:{{#if:{{{年|}}}|1|0}}+{{#if:{{{月|}}}|1|0}}+{{#if:{{{日|}}}|1|0}}-1}}
> {{#expr:{{#if:{{{年|}}}|1|0}}+{{#if:{{{月|}}}|1|0}}+{{#if:{{{日|}}}|1|0}}-1}}
| {{{返回|}}}
| {{#vardefine:matchdate|1}}
| {{#vardefine:matchdate|{{{非|0}}}}}
}}
}}{{
</onlyinclude>
#ifexpr:
{{{末|2147483648}}} - {{{始|0}}} > {{{末|2147483648}}} - {{#expr:{{#time:U|now|+{{{UTC|8}}} hours}}}}
| {{#vardefine:matchrange|1}}
| {{#vardefine:matchdate|{{{非|0}}}}}
}}{{
#switch:{{{范围|0}}}
| 0 = {{#ifexpr:{{#var:matchdate}}|{{{返回|}}}}}
| 1 = {{#ifexpr:{{#var:matchrange}}|{{{返回|}}}}}
| 2 = {{#ifexpr:{{#var:matchdate}} - {{#var:matchrange}} = 0||{{{返回|}}}}}
}}</onlyinclude>{{
doc|content=
这个模板用于判断现在的时间是否与规则匹配,如果匹配则返回指定内容。
== 用法 ==
该模板有三种匹配方式:
# 匹配确切时间,即参数<code>范围=0</code>(默认),且<code>年</code>、<code>月</code>、<code>日</code>任意一个不为空。如果<code>月=3</code>,则会匹配3月的每一天;如果<code><nowiki>月=3|日=1</nowiki></code>,则会匹配每年的3月1日。
# 匹配特定范围内的时间,即参数<code>范围=1</code>,且<code>始</code>、<code>末</code>任意一个不为空。需要注意的是,无论是<code>始</code>还是<code>末</code>,输入的都需要是unix时间戳。如果<code>始=946656000</code>(对应时间2000-01-01 00:00:00),则会匹配自2000-01-01 00:00:00之后的时间;如果<code>始=946656000</code>且<code>末=1704038400</code>(2024-01-01 00:00:00),则会匹配从2000-01-01 00:00:00开始,到2024-01-01 00:00:00结束的时间。参数<code>始</code>和<code>末</code>必须使得<code>始</code><=<code>末</code>。
# 混合模式,即参数<code>范围=2</code>,且同时满足1与2的条件:<code>年</code>、<code>月</code>、<code>日</code>任意一个不为空,<code>始</code>、<code>末</code>任意一个不为空。如果<code>始=946656000</code>,<code>末=1704038400</code>,<code>月=3</code>,则会匹配从2000年至2024年中每个3月的每一天。
举例:
<code><nowiki>{{用户:CrablePotion/模板/TimeFilter|UTC=0|范围=0|年=2024|返回=true}}</nowiki></code> 在2024年(世界协调时)时会返回true,反之不返回。<br>效果如下:{{用户:CrablePotion/模板/TimeFilter|UTC=0|范围=0|年=2024|返回=true}}(没有返回就说明现在不是2024年)
}}<templatedata>
{
"params": {
"UTC": {
"label": "时区",
"type": "string",
"description": "当前时区的UTC值",
"default": "8 (北京时间)"
},
"年": {
"label": "年",
"type": "string",
"description": "匹配的年份"
},
"月": {
"label": "月",
"type": "string",
"description": "匹配的月份"
},
"日": {
"label": "日",
"type": "string",
"description": "匹配的日期"
},
"始": {
"label": "开始的时间点",
"type": "string",
"description": "开始的unix时间戳"
},
"末": {
"label": "末尾的时间点",
"type": "string",
"description": "末尾的unix时间戳"
},
"非": {
"label": "逻辑非",
"type": "string",
"description": "在不满足时返回"
},
"范围": {
"label": "是否启用范围",
"type": "string",
"description" : "0-不启用;1-仅范围;2-混合",
"default": "0 (不启用)"
},
"返回": {
"label": "返回内容",
"type": "string",
"description":"判断为真时返回的内容,可作为wikitext解析",
"required": true
}
},
"description": "判断当前时间是否与规则匹配"
}</templatedata>

2024年4月6日 (六) 19:53的最新版本

文档  [编辑]

这个模板用于判断现在的时间是否与规则匹配,如果匹配则返回指定内容。

用法

该模板有三种匹配方式:

  1. 匹配确切时间,即参数范围=0(默认),且任意一个不为空。如果月=3,则会匹配3月的每一天;如果月=3|日=1,则会匹配每年的3月1日。
  2. 匹配特定范围内的时间,即参数范围=1,且任意一个不为空。需要注意的是,无论是还是,输入的都需要是unix时间戳。如果始=946656000(对应时间2000-01-01 00:00:00),则会匹配自2000-01-01 00:00:00之后的时间;如果始=946656000末=1704038400(2024-01-01 00:00:00),则会匹配从2000-01-01 00:00:00开始,到2024-01-01 00:00:00结束的时间。参数必须使得<=
  3. 混合模式,即参数范围=2,且同时满足1与2的条件:任意一个不为空,任意一个不为空。如果始=946656000末=1704038400月=3,则会匹配从2000年至2024年中每个3月的每一天。

举例: {{用户:CrablePotion/模板/TimeFilter|UTC=0|范围=0|年=2024|返回=true}} 在2024年(世界协调时)时会返回true,反之不返回。
效果如下:true(没有返回就说明现在不是2024年)

判断当前时间是否与规则匹配

模板参数

参数描述类型状态
时区UTC

当前时区的UTC值

默认值
8 (北京时间)
字符串可选

匹配的年份

字符串可选

匹配的月份

字符串可选

匹配的日期

字符串可选
开始的时间点

开始的unix时间戳

字符串可选
末尾的时间点

末尾的unix时间戳

字符串可选
逻辑非

在不满足时返回

字符串可选
是否启用范围范围

0-不启用;1-仅范围;2-混合

默认值
0 (不启用)
字符串可选
返回内容返回

判断为真时返回的内容,可作为wikitext解析

字符串必需