You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Godot中获取当前时间以制作HH:MM:SS格式的数字时钟?

获取并格式化当前时间为HH:MM:SS(游戏开发场景)

1. Unity(C#)

直接借助C#原生的System.DateTime类即可完成:

// 获取本地当前时间
DateTime currentTime = DateTime.Now;
// 格式化为24小时制的HH:MM:SS格式
string formattedTime = currentTime.ToString("HH:mm:ss");

若需UTC标准时间,将DateTime.Now替换为DateTime.UtcNow即可。

2. Unreal Engine

C++实现

#include "Misc/DateTime.h"

// 获取UTC时间并转换为本地时间
FDateTime currentTime = FDateTime::UtcNow().ToLocalTime();
// 格式化输出HH:MM:SS
FString formattedTime = currentTime.ToString(TEXT("%H:%M:%S"));

蓝图实现

  • 调用Get Current UTC Time节点,接着通过Convert UTC to Local Time转换为本地时间
  • 调用Format DateTime String节点,传入格式字符串%H:%M:%S,直接得到目标格式的时间字符串

3. Godot(GDScript)

利用引擎内置的OS类处理时间:

// 直接获取并格式化
var formattedTime = OS.get_datetime_string_from_system("%H:%M:%S")

也可以手动拆分时间分量再拼接:

var timeData = OS.get_datetime()
var formattedTime = "%02d:%02d:%02d" % [timeData.hour, timeData.minute, timeData.second]

关键提示

如果是需要实时刷新的时钟,务必在游戏的帧更新回调(如Unity的Update、Godot的_process)或定时任务里重复获取时间,避免显示固定值;部分平台需注意时区差异,根据需求选择本地时间或UTC时间。

内容的提问来源于stack exchange,提问作者Tristan F.-R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:31:49