lua 日期的一些函數


--根據日期獲取星期幾
function getWeekNum(strDate)
    local ymd = Split(strDate,"-")
    t = os.time({year=tostring(ymd[1]),month=tostring(ymd[2]),day=tostring(ymd[3])})
    local weekNum = os.date("*t",t).wday  -1
    if weekNum == 0 then
        weekNum = 7
    end
    return weekNum
end

ngx.say(getWeekNum("2018-04-25"))

 

--根據一個日期獲取下幾天,dayChange參數為下幾天
function getNextDay(strDate,dayChange)
    local _startDate = Split(startDate,"-")    
    local time=os.time({year=tostring(_startDate[1]), month=tostring(_startDate[2]), day=tostring(_startDate[3])})+dayChange*86400 --一天86400秒
    return (os.date('%Y',time).."-"..os.date('%m',time).."-"..os.date('%d',time))    
end

ngx.say(getNextDay("2018-04-25", 1))

 

--計算一個時間段中有幾天
function getDays(startDate, endDate)
    local startDateTab = Split(startDate,"-")
    local endDateTab = Split(endDate,"-")    
    numDay1 = os.time({year=tostring(startDateTab[1]), month=tostring(startDateTab[2]), day=tostring(startDateTab[3])})
    numDay2 = os.time({year=tostring(endDateTab[1]), month=tostring(endDateTab[2]), day=tostring(endDateTab[3])})    
    return (numDay1-numDay2)/(3600*24)+1;
end

ngx.say(getDays("2018-04-25", "2018-04-20"))

 

--遍歷一個值是否在數組中
function IsInTable(value, tbl)
        for k,v in ipairs(tbl) do
                if v == value then
                        return true;
                end
        end
        return false;
end

 

--獲取前10分鍾
ngx.print(os.date("%Y%m%d%H%M%S",os.time()-600))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM