如果兩個日期之間的差異小於10分鐘,我想比較兩個日期。我怎麼做?Grails - 如果少於10分鐘比較Groovy日期時間
Date created = Date.parse('yyyy-MM-dd HH:mm:ss','2014-06-05 10:19:04')
Date now = new Date()
now.compareTo(created) gives me 1 but I want to compare the minute difference.
如果兩個日期之間的差異小於10分鐘,我想比較兩個日期。我怎麼做?Grails - 如果少於10分鐘比較Groovy日期時間
Date created = Date.parse('yyyy-MM-dd HH:mm:ss','2014-06-05 10:19:04')
Date now = new Date()
now.compareTo(created) gives me 1 but I want to compare the minute difference.
嘗試使用java.util.concurrent.TimeUnit
。我假設,Groovy Date.parse
創建java.util.Date
,但。
def difference = now.time - created.time
if (difference < TimeUnit.MINUTES.toMillis(10)) {
//do something
}
從Groovy time durations你會發現某事像那:
import groovy.time.*
def minutesDiff = TimeCategory.minus(timeStop, timeStart).minutes
這是錯誤的。它不會在幾分鐘內返回差異。它返回TimeDuration的分鐘部分。例如。如果'TimeDuration = 1hour',那麼'minutes = 0'和'hours = 1'。 – gargii
我認爲你是對的,我剛剛在[code]進口groovy.time檢查它。* 高清timeStart =新的日期() 高清timeStop 使用(TimeCategory){ timeStop =新的日期()+ 30 .hours + 1.minutes } def minutesDiff = TimeCategory.minus(timeStop,timeStart).minutes [code],我會刪除答案,thx! – hexin
如果您有日期的工作很多,我想建議你使用JodaTime或groovy.time包看看,如果你使用Groovy 2.2.1
感謝您的快速回答!像魅力一樣工作。 –