时间
读取当前时间、处理日期,以及把一个时刻格式化为文本
十五个纯节点,用于读取当前时间与处理日期。Now 读取当前时刻。Make Time 与 Get Time Parts 在时刻与日历字段之间转换。Add Time 与 Time Difference 按每个月的实际长度做运算。四个格式化节点把时刻转成文本
常见用途是存档界面。要让槽位显示它的写入时间,把 Get Save Time 接到本页任一格式化节点
约定
- 本页每个节点都是
Pure。 它们都没有执行引脚,可用于event、function、macro图,也可用于 Blueprint Value。存档槽位的标签属于 Blueprint Value - 一个时刻是一个数:1970 年 1 月 1 日 UTC 以来的毫秒数,走
float引脚。Get Save Time与Get Latest Auto Save产出的即为这个单位,因此存档时间可以直接接进本页任何节点 - 本页没有时间比较节点。 时刻越晚数值越大,因此 Math 里的
<、>、Min、Max已可用于比较与排序两个时刻 - 日历取玩家本地时区。
Make Time、Get Time Parts、Add Time、Time Difference、Start Of Day、Is Same Day与Format Time都读本地时间。To ISO String是例外,输出 UTC - 不做缓存。 每次读取都会重新求值,因此
Now对每条读取它的连线给出不同的结果 - 不是可用数值的引脚按
0处理,即 1970 年 1 月 1 日。Format Time会直接打印这个日期,不作任何提示;格式化结果显示 1970 年,说明它读到的输入没有接上
Now
blueprint.time.now · Pure
Now(当前时间)读取当前时刻
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | out · data | float |
Make Time
blueprint.time.make · Pure
Make Time(构建时间)用本地日历字段构建一个时刻
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
year | in · data | integer | 支持卡片字面量。50 表示公元 50 年,不是 1950 年 |
month | in · data | integer | 1–12。支持卡片字面量 |
day | in · data | integer | 1–31。支持卡片字面量 |
hour | in · data | integer | 0–23。支持卡片字面量 |
minute | in · data | integer | 0–59。支持卡片字面量 |
second | in · data | integer | 0–59。支持卡片字面量 |
millisecond | in · data | integer | 0–999。支持卡片字面量 |
timestamp | out · data | float |
超出范围的字段会进位到上一级。month 填 13 得到下一年的一月;day 填 0 得到上一个月的最后一天,用它即可取到某个月的月末,不需要专门的节点
Get Time Parts
blueprint.time.parts · Pure
Get Time Parts(获取时间分量)把一个时刻拆成本地日历字段
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | in · data | float | 支持卡片字面量 |
year | out · data | integer | |
month | out · data | integer | 1–12 |
day | out · data | integer | 1–31 |
hour | out · data | integer | 0–23 |
minute | out · data | integer | 0–59 |
second | out · data | integer | 0–59 |
millisecond | out · data | integer | 0–999 |
weekday | out · data | integer | 0 是星期日,6 是星期六 |
dayOfYear | out · data | integer | 1 月 1 日为 1 |
Format Time
blueprint.time.format · Pure
Format Time(格式化时间)按模板把一个时刻渲染成文本
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | in · data | float | 支持卡片字面量 |
pattern | in · data | string | 支持卡片字面量。留空时按 YYYY-MM-DD HH:mm 处理 |
result | out · data | string |
| 标记 | 产生 | 示例 |
|---|---|---|
YYYY | 四位年份 | 2026 |
YY | 两位年份 | 26 |
MM / M | 月,补零或不补零 | 08 / 8 |
DD / D | 日,补零或不补零 | 04 / 4 |
HH / H | 时,24 小时制,补零或不补零 | 15 / 15 |
hh / h | 时,12 小时制,补零或不补零 | 03 / 3 |
mm / m | 分,补零或不补零 | 30 / 30 |
ss / s | 秒,补零或不补零 | 05 / 5 |
SSS | 毫秒 | 007 |
A / a | 上下午 | PM / pm |
不是标记的内容原样输出。单引号之间的文本原样输出且不参与标记匹配,因此与标记同形的字母仍可打出:'Day' D 得到 Day 14。连续两个单引号输出一个单引号
Format Time Localized
blueprint.time.formatLocalized · Pure
Format Time Localized(按语言格式化时间)按某种语言的书写习惯渲染一个时刻
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | in · data | float | 支持卡片字面量 |
locale | in · data | string | 支持卡片字面量。BCP 47 标记,如 en-US、zh-CN。留空表示玩家的系统语言 |
result | out · data | string |
卡片字段
| 字段 | 含义 |
|---|---|
日期样式 | 无、短、中、长、完整。默认为 中 |
时间样式 | 同样五项。默认为 无 |
两个样式都设为 无 时结果为空字符串。系统无法识别的标记回退到玩家的语言
该节点不会读取游戏当前语言。把 Get Current Language 接到 locale,日期即跟随玩家在游戏中选择的语言
Format Relative Time
blueprint.time.formatRelative · Pure
Format Relative Time(格式化相对时间)用文字描述两个时刻的间隔:5 分钟前、2 天后
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
from | in · data | float | 支持卡片字面量。基准点,通常接 Now |
to | in · data | float | 支持卡片字面量。被描述的时刻 |
locale | in · data | string | 支持卡片字面量。规则同 Format Time Localized |
result | out · data | string |
卡片字段
| 字段 | 含义 |
|---|---|
措辞 | 自动 允许该语言使用「昨天」这类词。始终用数字 一律计数。默认为 自动 |
单位跟随间隔大小:不足一分钟用秒,其后依次是分、时、天、月、年
Format Duration
blueprint.time.formatDuration · Pure
Format Duration(格式化时长)把一段时长渲染成时钟读数
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
milliseconds | in · data | float | 支持卡片字面量 |
result | out · data | string |
卡片字段
| 字段 | 含义 |
|---|---|
排布 | 自动 只在有小时时显示小时(1:05、2:03:04)。时分秒 总是显示(00:01:05)。分秒 从不显示(01:05)。默认为 自动 |
小时会持续累加,不进位成天:三十小时的游戏时长显示为 30:00:00
输出只有数字与分隔符。1 小时 20 分 这类写法需要翻译,请从 Get Duration Parts 取出数字,再用 Format Text 拼装
Get Duration Parts
blueprint.time.durationParts · Pure
Get Duration Parts(获取时长分量)把一段时长拆成各级单位
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
milliseconds | in · data | float | 支持卡片字面量 |
days | out · data | integer | |
hours | out · data | integer | 0–23 |
minutes | out · data | integer | 0–59 |
seconds | out · data | integer | 0–59 |
remainingMilliseconds | out · data | integer | 0–999 |
totalHours | out · data | integer | 整段时长换算成小时 |
totalMinutes | out · data | integer | 整段时长换算成分钟 |
totalSeconds | out · data | integer | 整段时长换算成秒 |
negative | out · data | boolean |
各项数字均为绝对值,符号由 negative 给出
Add Time
blueprint.time.add · Pure
Add Time(时间偏移)把一个时刻前移或后移
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | in · data | float | 支持卡片字面量 |
amount | in · data | float | 支持卡片字面量。负数表示往前 |
result | out · data | float |
卡片字段
| 字段 | 含义 |
|---|---|
单位 | 毫秒、秒、分钟、小时、天、周、月、年。默认为 秒 |
月 与 年 按日历计算,并停在目标月份的最后一天:1 月 31 日加一个月是 2 月 28 日,闰年是 29 日
Time Difference
blueprint.time.difference · Pure
Time Difference(时间差)计算 to 减 from,以选定的单位表示
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
from | in · data | float | 支持卡片字面量 |
to | in · data | float | 支持卡片字面量 |
difference | out · data | float | to 早于 from 时为负 |
卡片字段
| 字段 | 含义 |
|---|---|
单位 | 同 Add Time。默认为 秒 |
固定长度的单位保留小数:九十分钟以小时表示为 1.5,需要整数时再接一个 Floor。月 与 年 只计入走完的整个日历单位,因此相差一天不满一个月时结果为 0
Parse Time
blueprint.time.parse · Pure
Parse Time(解析时间)把写好的日期文本读回一个时刻
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
value | in · data | string | 支持卡片字面量 |
timestamp | out · data | float | 文本读不出来时为 0 |
ok | out · data | boolean |
要写的格式是 ISO 8601。只有日期、没有时间的写法(如 2026-08-14)按本地零点读取
请读取 ok。解析失败时输出 0,而 0 同时也是 1970 年的一个有效时刻
To ISO String
blueprint.time.toIsoString · Pure
To ISO String(转为 ISO 字符串)把一个时刻写成 UTC 的 ISO 8601 字符串:2026-08-14T07:30:00.000Z。用于把时间写入存档 metadata 或持久变量
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | in · data | float | 支持卡片字面量 |
result | out · data | string |
Parse Time 可将它读回同一个时刻
Is Same Day
blueprint.time.isSameDay · Pure
Is Same Day(是否同一天)判断两个时刻是否落在本地日历的同一天
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
a | in · data | float | 支持卡片字面量 |
b | in · data | float | 支持卡片字面量 |
result | out · data | boolean |
比较的是日历日:23:59 与次日 00:30 相差半小时,分属两天
Start Of Day
blueprint.time.startOfDay · Pure
Start Of Day(当天零点)取一个时刻所在那一天的本地零点
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | in · data | float | 支持卡片字面量 |
result | out · data | float |
Get Time Zone
blueprint.time.zoneOffset · Pure
Get Time Zone(获取时区)读取游戏运行所在的时区
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
timestamp | in · data | float | 支持卡片字面量。要询问的时刻——夏令时会让同一个时区在一年中有不同的偏移 |
offsetMinutes | out · data | float | 早于 UTC 的分钟数。UTC+8 为 480 |
name | out · data | string | IANA 名称,如 Asia/Shanghai。系统不提供时为空字符串 |
显示存档的写入时间
槽位的标签是一个 Blueprint Value,时刻由 Get Save Time 提供:
- 绝对时间——
Get Save Time→savedAt→Format Time,或用Format Time Localized跟随玩家语言 - 相对时间——
Now接from,savedAt接to,再接Format Relative Time - 按天分组——把存档的
Start Of Day与Now的Start Of Day比较,或用Is Same Day
空槽位读 Get Save Time 的 exists 引脚判断。没有存档时 savedAt 为 0,而 0 同时也是一个有效时刻