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 日期差_Lua_Date Difference - Fatal编程技术网

Lua 日期差

Lua 日期差,lua,date-difference,Lua,Date Difference,我想知道你是否可以得到两个日期的日期差,这两个日期是预定义的,还是长期动态的 使用此功能时是否需要正确的日期格式 function datediff(d1, d2, ...) col_date1 = os.time({year = d1:year(), month = d1:month(), day = d1:day() , hour = d1:hour(), min = d1:minute(), sec = d1:second() }) col_date2 = os.time

我想知道你是否可以得到两个日期的日期差,这两个日期是预定义的,还是长期动态的

使用此功能时是否需要正确的日期格式

function datediff(d1, d2, ...)

    col_date1 = os.time({year = d1:year(), month = d1:month(), day = d1:day() , hour = d1:hour(), min = d1:minute(), sec = d1:second() })
    col_date2 = os.time({year = d2:year(), month = d2:month(), day = d2:day() , hour = d2:hour(), min = d2:minute(), sec = d2:second() })

    local arg={...}
    if arg[1] ~= nil then
        if arg[1] == "min" then
            return math.abs((col_date1 - col_date2) / 60)
        elseif arg[1] == "hour" then
            return math.abs((col_date1 - col_date2) / 3600)
        elseif arg[1] == "day" then
            return math.abs((col_date1 - col_date2) / 86400)
        end
    end
    return math.abs(col_date1 - col_date2)
    --return 0
end
这是代码。但我不知道这到底是怎么回事。
输入应类似于31122017-31122016为1年。或者类似的东西。

此代码将自定义日期对象作为输入。因此,例如,如果您有一个日期对象
d
表示2017-05-22这样的日期,那么调用
d:year()
将为您提供数字2017,
d:hour()
将为您提供数字5,以此类推

在标准Lua中没有函数可以生成这样的对象,因此此代码所在的项目必须使用单独的日期库。您需要了解如何创建项目所需的日期对象,然后将这些对象传递到函数中