- 版权类型
- 原创
- 插件中文名称
- 时间计算器
- 插件英文名称
- TimeOperate Expansion
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
时间计算器
用于计算时间的 PlaceholderAPI 变量扩展。这是一个使用很复杂,但可用性很高的变量扩展。
安装方法
在变量中可以使用
下面会介绍 输入时间、输出格式 和 计算操作 的具体用法,本帖结尾会给出一些操作示例
输入时间
[TABLE=collapse,alternate]
[TR]
[TH]输入值[/TH]
[TH]说明[/TH]
[TH]示例[/TH]
[/TR]
[TR]
[TD]
[TD]当前时间[/TD]
[TD]
[/TR]
[TR]
[TD]
[TD]时间戳(秒级,不是毫秒级)[/TD]
[TD]
[/TR]
[TR]
[TD]
[TD]特定格式时间,格式详见此链接[/TD]
[TD]
[/TR]
[/TABLE]
输出格式
使用
阅读 DateTimeFormatter 的 javadoc 以查看可以使用的格式
比如
计算操作
[TABLE=alternate]
[TR]
[TH]输入值[/TH]
[TH]说明[/TH]
[TH]示例[/TH]
[/TR]
[TR]
[TD]
[TD]增加时刻,需要输入数值和单位,单位可以使用:(忽略大小写)
[TD]
[/TR]
[TR]
[TD]
[TD]减少时刻,需要输入数值和单位,单位可以使用:(忽略大小写)
[TD]
[/TR]
[TR]
[TD]
[TD]修改某个特定时间单位的数值,单位可以使用:(大小写敏感)
[TD]
[/TR]
[TR]
[TD]
[TD]修改时分秒的简单格式,在某位上面使用
[TD]
[/TR]
[TR]
[TD]
[TD]将日期修改为下几周的星期一,周数设为
[TD]
[/TR]
[TR]
[TD]
[TD]将日期修改为上几周的星期一,周数规则同
[TD]
[/TR]
[TR]
[TD]
[TD]在日期的月份上加多少[/TD]
[TD]
[/TR]
[TR]
[TD]
[TD]在日期的月份上减多少[/TD]
[TD]
[/TR]
[TR]
[TD]
[TD]在日期的年份上加多少[/TD]
[TD]
[/TR]
[TR]
[TD]
[TD]在日期的年份上减多少[/TD]
[TD]
[/TR]
[/TABLE]
如需多个计算操作,请使用下划线
变量示例
使用示例
用于计算时间的 PlaceholderAPI 变量扩展。这是一个使用很复杂,但可用性很高的变量扩展。
安装方法
- 在本帖或 Releases 下载变量扩展jar文件
- 放到
/plugins/PlaceholderAPI/expansions/
目录 - 任选以下任意一种方法安装
- (推荐) 使用命令
/papi register 文件名
- 使用命令
/papi reload
- 重启服务器
- (推荐) 使用命令
代码:
// 参数:<必选参数> [可选参数]
%timeoperate_<输入时间>_<输出格式>[_<计算操作>]%
在变量中可以使用
{变量}
或 (变量)
来在变量参数中套娃内嵌变量,比如 {player_first_played}
下面会介绍 输入时间、输出格式 和 计算操作 的具体用法,本帖结尾会给出一些操作示例
输入时间
[TABLE=collapse,alternate]
[TR]
[TH]输入值[/TH]
[TH]说明[/TH]
[TH]示例[/TH]
[/TR]
[TR]
[TD]
now
[/TD][TD]当前时间[/TD]
[TD]
now
[/TD][/TR]
[TR]
[TD]
时间戳
[/TD][TD]时间戳(秒级,不是毫秒级)[/TD]
[TD]
1675353600
[/TD][/TR]
[TR]
[TD]
格式|值
[/TD][TD]特定格式时间,格式详见此链接[/TD]
[TD]
yyyy-MM-dd|2023-02-03
[/TD][/TR]
[/TABLE]
输出格式
使用
unix
代表输出秒级时间戳(可直接用于 LuckPerms)阅读 DateTimeFormatter 的 javadoc 以查看可以使用的格式
比如
yyyy-MM-dd
(2024-08-10), HH:mm:ss
(11:45:14)计算操作
[TABLE=alternate]
[TR]
[TH]输入值[/TH]
[TH]说明[/TH]
[TH]示例[/TH]
[/TR]
[TR]
[TD]
+时刻
[/TD][TD]增加时刻,需要输入数值和单位,单位可以使用:(忽略大小写)
d
代表天数h
代表小时数m
代表分钟数s
代表秒数
[TD]
+1d2h
[/TD][/TR]
[TR]
[TD]
-时刻
[/TD][TD]减少时刻,需要输入数值和单位,单位可以使用:(忽略大小写)
d
代表天数h
代表小时数m
代表分钟数s
代表秒数
[TD]
-1d2h
[/TD][/TR]
[TR]
[TD]
单位=时间
[/TD][TD]修改某个特定时间单位的数值,单位可以使用:(大小写敏感)
y
或者year
代表年份M
或者month
代表月份d
或者day
代表日期h
或者hour
代表小时m
或者minute
代表分钟s
或者second
代表秒
[TD]
y=2023
[/TD][/TR]
[TR]
[TD]
时:分:秒
[/TD][TD]修改时分秒的简单格式,在某位上面使用
~
代表不修改[/TD][TD]
4:0:0
(或者04:00:00
)6:0
(完整表示为06:00:00
)20:05
(完整表示为20:05:00
)11:45:14
~:19:19
[/TR]
[TR]
[TD]
w+周数
[/TD][TD]将日期修改为下几周的星期一,周数设为
0
意味着将日期修改为日期所在星期的星期一[/TD][TD]

w+1
(2024-11-15 星期五
-> 2024-11-18 星期一
)w+0
(2024-11-15 星期五
-> 2024-11-11 星期一
)[/TD][/TR]
[TR]
[TD]
w-周数
[/TD][TD]将日期修改为上几周的星期一,周数规则同
w+周数
[/TD][TD]
w-1
(2024-11-15 星期五
-> 2024-11-04 星期一
)[/TD][/TR]
[TR]
[TD]
M+月份
[/TD][TD]在日期的月份上加多少[/TD]
[TD]
M+1
(2025-01-11
-> 2025-02-11
)[/TD][/TR]
[TR]
[TD]
M-月份
[/TD][TD]在日期的月份上减多少[/TD]
[TD]
M-1
(2025-01-11
-> 2024-12-11
)[/TD][/TR]
[TR]
[TD]
y+年份
[/TD][TD]在日期的年份上加多少[/TD]
[TD]
y+1
(2025-01-11
-> 2026-01-11
)[/TD][/TR]
[TR]
[TD]
y-年份
[/TD][TD]在日期的年份上减多少[/TD]
[TD]
y-1
(2025-01-11
-> 2024-01-11
)[/TD][/TR]
[/TABLE]
如需多个计算操作,请使用下划线
_
来连接。变量示例
代码:
// 获取明天早上 6:00 的时间戳
%timeoperate_now_unix_+1d_6:00%
// 获取明天的当前整点(分和秒都是0)时间,以自定义格式输出
%timeoperate_now_yyyy/MM/dd HH:mm:ss_+1d_~:0:0%
使用示例
代码:
// 使用 LuckPerms 给予玩家一个临时权限 your.perm.here,在明天早上 4:00 到期
/lp user %player_name% permission settemp your.perm.here true %timeoperate_now_unix_+1d_4:00%
// 使用 LuckPerms 配合 Math 变量,实现每日限购功能,每天早上 4:00 刷新限购次数
// 此处只能实现执行后购买数量+1,到期重置为0。需要在菜单判定变量 %math_0_{luckperms_meta_your.meta.here}+0% 的数量来实现限购
/lp user %player_name% meta settemp your.meta.here %math_0_{luckperms_meta_your.meta.here}+1% %timeoperate_now_unix_+1d_4:00%