gpt4 book ai didi

datetime - 将日期时间转换为日期

转载 作者:行者123 更新时间:2023-12-02 12:16:01 25 4
gpt4 key购买 nike

如何将 Grails 中的日期时间字段转换为日期,而不捕获时间?我需要这样做是为了与系统日期进行比较。

class Trip 
{
String name
String city
Date startDate
Date endDate
String purpose
String notes

static constraints = {
name(maxLength: 50, blank: false)
startDate(validator: {return (it >= new Date())}) // This won't work as it compares the time as well
city(maxLength: 30, blank: false)
}
}

最佳答案

[不幸的是]在 Grails|Groovy|Java 中没有用于执行此操作的“开箱即用”方法。

有人总是投入Joda-Time每当提出 java.util.Datejava.util.Calendar 问题时,但包含另一个库并不总是一种选择。

最近,针对类似的问题,我们创建了一个 DateTimeUtil 类,其中包含 static 方法和类似以下内容的内容,以仅获取 Date :

class DateTimeUtil {

// ...

public static Date getToday() {
return setMidnight(new Date())
}

public static Date getTomorrow() {
return (getToday() + 1) as Date
}

public static Date setMidnight(Date theDate) {
Calendar cal = Calendar.getInstance()
cal.setTime(theDate)
cal.set(Calendar.HOUR_OF_DAY, 0)
cal.set(Calendar.MINUTE, 0)
cal.set(Calendar.SECOND, 0)
cal.set(Calendar.MILLISECOND, 0)
cal.getTime()
}

//...

}

然后,在验证器中,您可以使用

startDate(validator: {return (it.after(DateTimeUtil.today))}) //Groovy-ism - today implicitly invokes `getToday()` 

关于datetime - 将日期时间转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/349291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com