【问题标题】:How can I determine if a date is between two dates in Groovy?如何确定日期是否在 Groovy 中的两个日期之间?
【发布时间】:2017-11-22 17:13:07
【问题描述】:

如何在 Groovy 中检查某个日期是否介于其他两个日期之间? MySQL中有没有类似BETWEEN的函数?

【问题讨论】:

    标签: groovy


    【解决方案1】:

    没有任何神奇的功能,但您可以轻松编写一个函数来做到这一点

    Date date1 = new Date()
    Date date2 = new Date().plus(2)
    
    Date toCheck1 = new Date().plus(3)
    Date toCheck2 = new Date().plus(1)
    
    
    def dateBetween(Date date1, Date date2, Date toCheck){
        return toCheck.after(date1) && toCheck.before(date2)
    }
    
    dateBetween(date1, date2, toCheck1) // returns false
    dateBetween(date1, date2, toCheck2) // returns true
    

    【讨论】:

      【解决方案2】:

      主要逻辑是将你的日期转换成YYYYMMDD的格式,然后你可以检查date1

      下面是可以在soapui中运行的groovy代码。例如今天是 20171225 5 天后是 20171230 。所以现在 20171227

      def date1 = new Date().format("YYYYMMdd")
      def date2 = (new Date()+5).format("YYYYMMdd")
      def date3 = (new Date()+3).format("YYYYMMdd")
      
      log.info "date1 is " + date1 + " date2 is " + date2 + " date3 is " + date3
      
      
      if(date2<=date1 && date3>=date1)
      {
      log.info "date3 is between date1 and date2"
      }
      else
      {
      log.info "Date3 is not between date1 and date2" 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多