**Roblox计时系统只提供本地时间**

所以我一直在尝试制作这个模拟时钟,我尝试在网上找到答案,但是没有找到。我基本上想让这个时钟参考格林威治标准时间,而不是我的电脑时间,因为我正在制作一个显示世界各地时间的游戏。但是我做不到,因为如果我添加6小时来显示德国时间,它会为我正确地显示时间,但不会为其他时区的任何人显示时间。我应该在我的代码中改变什么?

    local sp = script.Parent
local Clock = sp.Clock
local HourArrow = Clock.Hour
local MinArrow = Clock.Min
 SecArrow = Clock.Sec

while true do
    local t=tick()
    local hour=(((t/60)/60)/12)%1
    local minute=(hour*12)%1
    local mint = math.floor(minute*60)
    local second= math.floor(((minute*60)%1)*60)
    HourArrow.Rotation = 180+(hour*360)
    MinArrow.Rotation = 180+(mint*6)
    SecArrow.Rotation = 180+(second*6)
    wait(1)
end
点赞
用户8764260
用户8764260

你可能需要查看 os.time。这允许你按照你的需求格式化时间表示。有关格式字符串的相关信息,请参阅手册中的 strftime。你还可以通过 os.date 将时间分解为小时、分钟等组件,并以表格形式表示。

2018-05-03 07:44:07
用户9734143
用户9734143

你应该使用 "os.date("!%c")" 直接打印 UTC 时间,或者使用 "os.time()" 获取自 1970 年 1 月 1 日 00:00:00 (UTC) 以来经过的秒数。

来源:StackOverflowRoblox 时间Roblox 日期

2018-05-03 08:24:54
用户11405174
用户11405174

你当前的脚本是不必要的。

myTime = os.time{year=1970,month=1,day=1,hour=0} --当前时间从1970年1月1日午夜开始的秒数
hoursToMove = 1 --要向前移动的小时数
myTime = hoursToMove*60*60 + myTime --乘以60两次达到分钟和小时

myTime 现在等于自1970年1月1日 00:00 UTC以来经过的秒数,再加上一个小时 - 更改 hoursToMove 可以修改您想要向前/向后移动的小时数(负数也起作用)。

2019-11-19 14:19:44