【问题标题】:Validate given date is yesterday date验证给定日期是昨天的日期
【发布时间】:2018-05-21 15:04:57
【问题描述】:

我是 lua 编程新手,我正在 kong 进行许可证验证。

我想用当前日期验证到期日期。

如何在 lua 脚本中进行验证。

【问题讨论】:

  • 我不喜欢无谓地抱怨规则,但在这种情况下,我真的认为你应该付出更多的努力。

标签: lua kong


【解决方案1】:
-- Returns true if the given time is in the past.
function dateExpired(expirationTime)
  return os.difftime(os.time(), expirationTime) < 0
end

注意expirationTimeos.time()os.date() 返回的时间值。如果您将日期保存为表格,您可以先通过os.time() 输入它:dateExpired(os.time{year=2018, month=5, day=22})

【讨论】:

    【解决方案2】:

    我为你做了这个功能

    function verifyExpiration(expirationDate)
      local expirationTime = os.time(expirationDate)
      local currentTime = os.time()
      local result = false
    
      if (expirationTime < currentTime) then 
        result = true
      end
    
      return result
    end
    

    它将返回: 如果过期则为真 ,如果没有过期则为false

    下面是它如何工作的一些示例:

    > expT = {year=2018, month=1, day=1}
    > verifyExpiration(expT)
    > print(verifyExpiration(expT))
    true
    > expT = {year=2019, month=1, day=1}
    > print(verifyExpiration(expT))
    false
    

    【讨论】:

    • 返回1或者0肯定不是lua的做事方式。这不是 C;我们有布尔值。
    • 没问题,我会把true换成true,0换成false
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    相关资源
    最近更新 更多