跳转至

🕒 时间与动态数据插件 (Shijian)

市面上的时间插件大多只能提供固定的格式,而万象的 shijian 插件是唯一一个将“格式化与展示逻辑”完全交由用户定义的插件

除了具备极高的兼容性与灵活度,它不仅支持通过特定编码调出候选,更开放了底层引擎——你可以直接在 custom_phrase.txtsuper_replacer 的外挂 txt 中引入这些占位符,实现极其强大的动态候选词构建。


⚙️ 1. 唤醒前缀定制

你可以在方案的 key_binder/shijian_keys 中自由定制触发前缀。

key_binder/shijian_keys: ["/", "o"] 
  • 效果:你可以使用 /sj 也可以使用 osj 调出时间。
  • 高阶用法:如果你的方案中字母 o 承担了其他作用,可以直接在列表中删掉 "o",完美规避按键冲突,灵活度极高。

⌨️ 2. 内置命令速查表

内置功能均固定了后两位编码(以形成肌肉记忆),前缀可随配置变化(下表以 /o 为例)。

功能 触发编码 说明
时间 /sjosj 输出当前时间
日期 /rqorq 输出当前日期
农历 /nlonl 输出农历日期
星期 /xqoxq 输出今天是星期几
年中周 /wwoww 输出今天是今年的第几周
节气 /jqojq 输出临近节气
日期+时间 /dtodt 综合输出
时间戳 /ttott 输出当前时间戳
时区查询 /utc 查询热门城市的 UTC 时间
节日 /jrojr 输出近期节日
问候模板 /dayoday 输出早安/午安/晚安等问候语

🧮 3. 日期差计算 (魔法计算器)

触发编码:/rcorc

为了保证 rq (日期) 能在输入后直接用数字键上屏候选,万象的日期差逻辑经过了精心设计:将加减符号后置

这样设计的好处是:电脑主键盘无需刻意按 Shift 键,直接敲击 -= 即可;手机上的 op 键也能完美兼容代偿,小键盘的 - + 同样可用。

  • 计算未来日期/rc26+/rc26p/rc26= (加上指定天数)
  • 计算过去日期/rc26-/rc26o (减去指定天数)

⚡ 4. N模式:极速日期录入

在大写字母 N 后紧跟数字,即可触发安全占位逻辑的数字日期模式,输入完毕后可直接使用数字键上屏(兼容 QWERTY 代替 123456 上屏)。

  • 4位数模式 (月日):输入 N0101N0312,自动补全当前年份。
  • 8位数模式 (年月日):输入 N20250315,输出完整指定的年月日格式。

N模式同样继承了强大的自定义能力,它的输出类型、格式、顺序、候选数,每一项均可在 YAML 中由你一手掌控。


🛠️ 5. YAML 全局格式化引擎

对于 /rq/sj/dt 以及 N模式,你可以在 YAML 中自由定义它们的输出格式集合:

date_formats:
  - "Y年m月d日"
  - "Y-m-d"
  - "Y/m/d"
  - "Y.m.d"
  - "Ymd"
  - "Y年n月j日"
  - "y年n月j日"
  - "n月j日"
time_formats:
  - "H:M"
  - "H点M分"
  - "H:M:S"
  - "H时M分S秒"
  - "下午I:M"
  - "I:M P"
datetime_formats:
  - "Y-m-d H:M:S"
  - "Y-m-dTH:M:S O"
  - "YmdHMS"
  - "Y年m月d日 H点M分"
  - "y/m/d I:M p"

要注意你写了几行就意味着候选有几个,顺序则代表了候选顺序,常用什么完全自由搭配,这样的时间插件你见过吗?

占位符字典 (YAML环境)

类型 占位符 说明 示例
Y / y 四位年份 / 两位年份 2025 / 25
m / n 补零月份 / 不带零月份 02 / 2
d / j 补零日期 / 不带零日期 09 / 9
时(24) H / G 补零24小时 / 不带零 08 / 8
时(12) I / l 补零12小时 / 不带零 08 / 8 (小写L)
分/秒 M / S 分钟 / 秒 (均带前导零) 05 / 09
上下午 p / P 小写 am/pm / 大写 AM/PM am / AM
时区 O / o 带冒号时区 / 不带冒号 +08:00 / +0800
  • 转义规则
  • \X:转义单个字符 X 按字面量输出(如 \Y 强制输出大写Y)。
  • [[...]]:区块整体按字面量输出,不受占位符解析影响。

🚀 6. 高阶玩法:自定义简码的动态格式化

这是万象时间插件独步天下的杀手锏功能。

除了上述由shijian.lua插件提供的功能以外,你完全可以在 custom_phrase.txtsuper_replacer 等外部文件中写入另一种占位功能,直接使用转义符构建“自带时间感知”的动态候选词!此功能由super_filter.lua提供,因为其作用域是任意候选词所以他的占位面临诸多挑战,比如原候选输出,还是输出转译后的内容,所以我们必须设计另一套占位符来适应这个复杂的环境,如下:

万象候选动态格式化说明

1. 时间动态占位 ( \ + 字母 )

代码 含义 示例输出 代码 含义 示例输出
\T 时辰 午时 \K 刻钟 三刻
\Y 年份(四位) 2025 \y 年份(两位) 25
\m 月份(补零) 01 \N 月份(不补零) 1
\d 日期(补零) 09 \j 日期(不补零) 9
\H 时(24h补零) 08 \G 时(24h无零) 8
\I 时(12h补零) 08 \l 时(12h无零) 8
\M 分钟(补零) 05 \S 秒钟(补零) 09
\W 星期(中) 星期几 \w 周(中) 周几
\p am/pm am \P AM/PM AM
\O 时区(带:) +08:00 \o 时区(无:) +0800
\A 时段描述 凌晨/上午/中午/下午/晚上

2. 数量重复宏 ( 字符 + \ + 数字 )

用于快速生成重复文本或占位符: * a\3 ➡️ aaa
哈\5 ➡️ hhhhh (结合下方自定义词库示例)
!\10 ➡️ !!!!!!!!!!

3. 基础排版转义

  • \n:换行符
  • \s:空格符
  • \t:制表符
  • [[...]]:区块内不解析。例如 [[\Y]] 将直接输出文本 \Y,而不会变成 2025。

🌟 终极应用示例 (txt 词库编写)

在你的 lua/data/other.txtcustom_phrase.txt 中写入以下内容,即可实现对应的魔法输入体验:

# 示例 1:古典报时,写在custom_phrase.txt里
\T\K    csck    5

# 解读:输入csck候选出现输出: -> 1.此时此刻 2.\T\K ,然后卵生候选又被格式化,最终输出: -> 1.此时此刻 2.午时三刻

lua/data/other.txt中格式稍有不同编码在前:

csck    \T\K

# 示例 2:动态重复
哈\5 hhhhh   5           # 输出 -> hhhhh

# 示例 3:一键古诗排版(结合换行与空格重复)
静夜思\n\s\3李白\n床前明月光\n疑是地上霜\n举头望明月\n低头思故乡 jys 5
# 输出 -> 
#   静夜思
#    李白
# 床前明月光
# 疑是地上霜...

# 示例 4:在日常短语中带入当天日期
修改时间\Y-\m-\d    xgsj    5   # 输出 -> 修改时间2025-04-20
从示例中我们可以看出,txt写的更加偏向于混合候选,是 范式文本+动态时间 的用法,两个形态的时间铸就了无死角的体验。