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