TimeOperate —— PAPI变量扩展 时间计算器 返回时间戳或特定格式

原创 衍生资源 TimeOperate —— PAPI变量扩展 时间计算器 返回时间戳或特定格式 1.2.4

完成注册/登录后下载
版权类型
原创
插件中文名称
时间计算器
插件英文名称
TimeOperate Expansion
原帖地址
https://github.com/MrXiaoM/TimeOperate-Expansion
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
  10. 1.12
  11. 1.11
  12. 1.10
  13. 1.9
  14. 1.8
时间计算器

用于计算时间的 PlaceholderAPI 变量扩展。这是一个使用很复杂,但可用性很高的变量扩展。

安装方法
  • 在本帖或 Releases 下载变量扩展jar文件
  • 放到 /plugins/PlaceholderAPI/expansions/ 目录
  • 任选以下任意一种方法安装
    • (推荐) 使用命令 /papi register 文件名
    • 使用命令 /papi reload
    • 重启服务器
用法

代码:
// 参数:<必选参数> [可选参数]

%timeoperate_<输入时间>_<输出格式>[_<计算操作>]%

在变量中可以使用 {变量} 或 (变量) 来在变量参数中套娃内嵌变量,比如 {player_first_played}

下面会介绍 输入时间、输出格式 和 计算操作 的具体用法,本帖结尾会给出一些操作示例

输入时间

输入值说明示例
now当前时间now
时间戳时间戳(秒级,不是毫秒级)1675353600
格式|值特定格式时间,格式详见此链接yyyy-MM-dd|2023-02-03
日期时间使用一般的格式2026-01-01 08:00:00
日期时间(ISO)使用ISO格式2026-01-01T08:00:00
日期带上 00:00:00 时间2026-01-01
时间带上当前日期08:00:00

输出格式

使用 unix 代表输出秒级时间戳(可直接用于 LuckPerms)

阅读 DateTimeFormatter 的 javadoc 以查看可以使用的格式
比如 yyyy-MM-dd (2024-08-10), HH:mm:ss (11:45:14)

计算操作

输入值说明示例
+时刻增加时刻,需要输入数值和单位,单位可以使用:(忽略大小写)
  • d 代表天数
  • h 代表小时数
  • m 代表分钟数
  • s 代表秒数
+1d2h
-时刻减少时刻,需要输入数值和单位,单位可以使用:(忽略大小写)
  • d 代表天数
  • h 代表小时数
  • m 代表分钟数
  • s 代表秒数
-1d2h
单位=时间修改某个特定时间单位的数值,单位可以使用:(大小写敏感)
  • y 或者 year 代表年份
  • M 或者 month 代表月份
  • d 或者 day 代表日期
  • h 或者 hour 代表小时
  • m 或者 minute 代表分钟
  • s 或者 second 代表秒
y=2023
date=日期一键修改为指定日期,使用 ISO 本地日期格式date=2026-01-01
时:分:秒修改时分秒的简单格式,在某位上面使用 ~ 代表不修改
  • 4:0:0 (或者 04:00:00)
  • 6:0 (完整表示为 06:00:00)
  • 20:05 (完整表示为 20:05:00)
  • 11:45:14
  • ~:19:19
w+周数将日期修改为下几周的星期一,周数设为 0 意味着将日期修改为日期所在星期的星期一pAhDDh9.md.png
w+1 (2024-11-15 星期五 -> 2024-11-18 星期一)
w+0 (2024-11-15 星期五 -> 2024-11-11 星期一)
w-周数将日期修改为上几周的星期一,周数规则同 w+周数w-1 (2024-11-15 星期五 -> 2024-11-04 星期一)
M+月份在日期的月份上加多少M+1 (2025-01-11 -> 2025-02-11)
M-月份在日期的月份上减多少M-1 (2025-01-11 -> 2024-12-11)
y+年份在日期的年份上加多少y+1 (2025-01-11 -> 2026-01-11)
y-年份在日期的年份上减多少y-1 (2025-01-11 -> 2024-01-11)

如需多个计算操作,请使用下划线 _ 来连接。

变量示例

代码:
// 获取明天早上 6:00 的时间戳
%timeoperate_now_unix_+1d_6:00%

// 获取明天的当前整点(分和秒都是0)时间,以自定义格式输出
%timeoperate_now_yyyy/MM/dd HH:mm:ss_+1d_~:0:0%

// 获取现在的时间戳,可以用于菜单条件判定,实现图标的限时显示功能
%timeoperate_now_unix%

// 获取 2026年元旦零点 的时间戳,可以用于菜单条件判定,实现图标的限时显示功能
%timeoperate_2026-01-01_unix%

// 获取今天 08:00:00 的时间戳,可以用于菜单条件判定,实现图标的限时显示功能
%timeoperate_08:00:00_unix%

// 获取 2026年元旦早上8点 的时间戳(两种方法都行)
%timeoperate_2026-01-01 08:00:00_unix%
%timeoperate_2026-01-01_unix_08:00:00%

使用示例

代码:
// 使用 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%

猫猫的通用技术交流群:1047497524

作者
MrXiaoM
下载
232
查看
1,477
首次发布
最后更新

评分

0.00 星 0 次评分

MrXiaoM 的其他资源

最新更新

  1. 1.2.4

    + 修复自定义的输入日期时间格式问题 + 添加默认的输入日期时间格式 + 支持一键设置日期操作 `date=value`
  2. 1.2.3

    + 支持月份计算操作 + 支持年份计算操作
  3. 1.2.2

    + 支持星期计算操作
后退
顶部 底部