Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua Roblox计时系统只提供本地时间_Lua_Roblox - Fatal编程技术网

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

Lua Roblox计时系统只提供本地时间,lua,roblox,Lua,Roblox,所以我一直在摆弄这个模拟时钟,我试图在网上找到答案,但没有找到。我基本上想让这个时钟做的是参考格林尼治标准时间,而不是我电脑上的时间,因为我正在尝试制作一个显示世界上所有时间的游戏。但我不能这样做,因为如果我增加6小时来显示德国时间,它会正确地告诉我时间,但不会告诉其他时区的任何人。我应该在代码中更改什么 local sp = script.Parent local Clock = sp.Clock local HourArrow = Clock.Hour local MinArrow

所以我一直在摆弄这个模拟时钟,我试图在网上找到答案,但没有找到。我基本上想让这个时钟做的是参考格林尼治标准时间,而不是我电脑上的时间,因为我正在尝试制作一个显示世界上所有时间的游戏。但我不能这样做,因为如果我增加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

你可能想调查一下。这允许您根据需要格式化时间表示。有关格式字符串,请参见手册中的
strftime
。您还可以使用
os.date

将时间分解为小时、分钟等组件。您应该使用“os.date(!%c”)”直接打印UTC时间,或者使用“os.time()”从1970年1月1日00:00:00(UTC)开始获得秒数


来源:,

不需要当前脚本

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:00UTC以来经过的秒数,再加上一小时-更改
hoursToMove
以修改您想要向前/向后移动的小时数(负数可以工作)。

我将把操作系统日期
os.date
直接输出到哪里,例如
打印(操作系统日期(!%c))
将打印日期和时间。