时间字段在grails域类中

San*_*kar 7 grails

我正在参加一个grails项目.我在我的应用程序中使用kendo网格.我需要创建一个名为"StatTimings"的域类,它包含两个时间字段startTime和endTime.我不能使用"日期"数据类型为那两个变量因为我需要的时间格式是hh:mm.我不想为此安装任何插件.这是我现在的域名:

class StatTimings{

???? startTime
???? endTime
Date date
AutoPosting autoPosting
Status status

static constraints = {
}

enum Status{ACTIVE,INACTIVE}
enum AutoPosting{SERVICE_CHARGE,STAT_CHARGES,BOTH}
Run Code Online (Sandbox Code Playgroud)

}

有什么方法可以让我的领域只接受时间吗?

Hou*_*ana 1

java.sql.Time 类是 java.util.Date 的子类,它几乎做同样的事情,并且添加了一个自定义的 toString 实现,如下所示:

public String toString () {

    int hour = super.getHours();
    int minute = super.getMinutes();
    int second = super.getSeconds();
    String hourString;
    String minuteString;
    String secondString;

    if (hour < 10) {
        hourString = "0" + hour;
    } else {        
        hourString = Integer.toString(hour);
    }
    if (minute < 10) {
        minuteString = "0" + minute;
    } else {        
        minuteString = Integer.toString(minute);
    }
    if (second < 10) {
        secondString = "0" + second;
    } else {        
        secondString = Integer.toString(second);
    }
    return (hourString + ":" + minuteString + ":" + secondString);
}
Run Code Online (Sandbox Code Playgroud)

所以我想您可以在引导程序上动态地向 Date 类添加一个方法,并在需要时调用它。

您可以在此处查看完整的源代码。