【问题标题】:grails is reformatting my dategrails 正在重新格式化我的日期
【发布时间】:2013-12-18 21:44:10
【问题描述】:

我有一个 groovy grails 项目的以下域

class Title {

    // Automatic timestamping
    DateTime dateCreated
    DateTime lastUpdated

    String name
    LocalDate startDate
    LocalDate endDate

    static constraints = {
        name blank: false, maxSize: 100
        startDate nullable: true
        endDate nullable: true
        // TODO: Validation check to make sure endDate is after startDate
    }
}

开始日期使用 jodatime 的LocalDate。

我的问题是,当我去更新startDate字段时,我必须使用以下格式mm/dd/yyyy,但是它将数据库中的日期存储为yyyy-mm-dd。我想让我的输入字段,对于开始日期,接受yyyy-mm-dd,因为这就是它在数据库中的存储方式。如果我尝试使用除斜杠以外的任何其他格式提交表单,我会收到以下错误

无法将 java.lang.String 类型的属性值转换为属性 startDate 所需的类型 org.joda.time.LocalDate;嵌套异常是 java.lang.IllegalArgumentException: Invalid format: "2014-01-01" is malformed at "14-01-01"

有谁知道如何解决这个问题?我应该重新格式化字符串吗?

【问题讨论】:

    标签: grails jodatime


    【解决方案1】:

    你在使用 Joda Time 插件吗?如果是,您应该将您的字段映射到

    static mapping = {
        startDate type: PersistentLocalDate
        endDate type: PersistentLocalDate
    }
    

    在你的模型中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-22
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      • 2019-06-30
      相关资源
      最近更新 更多