Datetime 必要时,修复格式设置以包括前导零

Datetime 必要时,修复格式设置以包括前导零,datetime,lua,Datetime,Lua,我在做倒计时。输出在小于10小时/分钟/秒时未显示前导零 我想也许我需要使用string.format,但我对lua是新手,不知道如何使用 函数GetTimeLeft() local dif=os.time(RELEASEDATE)-os.time() 本地时间限制={ [1] =数学楼层(dif/60/60/24),--天 [2] =数学楼层(dif/60/60)%24,--小时 [3] =数学楼层(dif/60)%60,--分钟 [4] =数学楼层(dif)%60--秒 } 本地文本={}

我在做倒计时。输出在小于10小时/分钟/秒时未显示前导零

我想也许我需要使用string.format,但我对lua是新手,不知道如何使用

函数GetTimeLeft()

local dif=os.time(RELEASEDATE)-os.time()
本地时间限制={
[1] =数学楼层(dif/60/60/24),--天
[2] =数学楼层(dif/60/60)%24,--小时
[3] =数学楼层(dif/60)%60,--分钟
[4] =数学楼层(dif)%60--秒
}
本地文本={}
对于i=1,#timeleft do
如果i==1,那么
如果timeleft[i]>0,则
表.插入(文本,时间限制[i])
结束
其他的
表.插入(文本,时间限制[i])
结束
结束

如果dif将
math.floor(dif)%60
替换为
string.sub(100+math.floor(dif)%60,2)
完美!多谢各位<代码>操作系统日期(“!%j:%T”,dif)
几乎可以满足您的要求。或者格式:
string.format(“%d:%.2d:%.2d”,1,9,9)
@lhf-它增加了一天的额外时间将
数学地板(dif)%60
替换为
string.sub(100+数学地板(dif)%60,2)
完美!多谢各位<代码>操作系统日期(“!%j:%T”,dif)几乎可以满足您的需要。或者格式:
string.format(“%d:%.2d:%.2d”,1,9,9)
@lhf-它会额外增加一天
local dif = os.time(RELEASEDATE) - os.time()
local timeleft = {
    [1] = math.floor(dif/60/60/24), --day
    [2] = math.floor(dif/60/60)%24, --hour
    [3] = math.floor(dif/60)%60,    --minute
    [4] = math.floor(dif)%60        --second
}

local text = {}
for i=1, #timeleft do
    if i == 1 then
        if timeleft[i] > 0 then
            table.insert(text,timeleft[i])
        end
    else
        table.insert(text,timeleft[i])
    end
end

if dif <= 0 then
    text = RELEASETEXT
else
    text = table.concat(text,":")
end

return tostring(text)