【问题标题】:Working with time as a Grails domain class field将时间用作 Grails 域类字段
【发布时间】:2013-06-29 23:22:29
【问题描述】:

我有一个名为 Event 的 Grails 域类。它有一个startTime 和一个endTime。这两个字段将表示为什么对象?我需要它们持久保存到数据库中,所以请记住这一点。我不需要对特定日期做任何事情,只需要一天中的特定时间,我可能需要做一些时间计算(确保 endTime 在 startTime 之后)

那么...使用java.sql.Timegroovy.time 包中的某些东西、整数或其他东西会更容易吗?谢谢!

【问题讨论】:

    标签: grails time grails-domain-class


    【解决方案1】:

    我喜欢使用JODA time plugin。 如果您不必在计算方面做太多事情,标准的 Date 对象也可以正常工作。

    【讨论】:

      【解决方案2】:

      如果数据库允许使用datetime 作为这两列的数据类型,那么我更喜欢Groovy Date,尽管使用 Joda Time 插件可以获得灵活性。

      日期将是the epoch,并且常规日期提供了一种从字符串解析日期/时间的简单机制。例如,如果 startTimeendTime 表示为类似 13:45:32 的字符串(来自视图或来自 REST 调用),表示 1:45 PM 时间,则此字符串可以轻松解析为 Date 为:

      Date.parse('HH:mm:ss', '13:45:32')
      //Thu Jan 01 13:45:32 EST 1970
      

      相反,从持久层获取日期后,您可以进行如下比较:

      endTime.after(startTime)

      在所有情况下,最终将比较自日期以来的时间 (HH:mm:ss) 始终是纪元 [1970 年 1 月 1 日]。

      【讨论】:

        猜你喜欢
        • 2012-06-03
        • 1970-01-01
        • 2010-10-13
        • 2010-09-30
        • 1970-01-01
        • 1970-01-01
        • 2012-05-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多