Lua的os.date()函数在Computer Craft中无法正常工作。

我正在尝试让模拟时钟显示时间(12小时),我必须使用Lua。我使用以下行以此格式获取时间:

os.date'%I:%M'

这显然不起作用,因为我一直收到零错误,这是代码中唯一的错误。os.time运行良好,但os.date不运行;我甚至尝试过没有'%I:%M'(时间格式)仍然不带os.date()无法工作。

我做错了什么?我必须从其他库中导入日期函数吗?顺便说一下,我是一个完全的Lua新手...

事实上,我正在使用它为Minecraft(ComputerCraft上)的监视器工作,但代码是:

m = peripheral.wrap('back')
m.setTextScale(5)
while i == i do
m.clear()
m.setCursorPos(1,1)
x = os.date'%I:%M')
m.write(x)
sleep(60)
end

但问题是代码的其他部分不影响它。os.date是唯一的问题,因为我尝试将其分开并出现相同的“尝试Nil调用”错误。

点赞
用户1516484
用户1516484

根据 这个链接,ComputerCraft 看起来不支持 os.date()。在这里提供了一个解决方法:

不幸的是,日期和时间没有向我们暴露。在 Lua 中,我们想要的是 os.date()os.time() 函数,但在 ComputerCraft 中没有实现日期,并且 time 只公布了 Minecraft 时间。

我所知道的唯一获取实际日期和时间的方法是使用 http API 来获取。

2012-08-09 22:53:10
用户3451236
用户3451236

另外,如果你想获取 Minecraft 中的日期,请尝试使用 os.getday()

2014-03-23 14:45:08