zoukankan      html  css  js  c++  java
  • 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))
  • 相关阅读:
    【nginx】常见的陷阱和错误
    linux配置文件的一些调优
    关于防刷票的一些问题
    关于nginx的限速模块
    使用Javascript监控前端相关数据
    【mysql】关于Index Condition Pushdown特性
    【mysql】关于临时表
    堆和栈的区别(转过无数次的文章)
    深入PHP内核之in_array
    【mysql】索引的优化
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/8919867.html
Copyright © 2011-2022 走看看