Grails域类日期

时间:2011-05-17 10:32:39

标签: date grails

出于某种原因,我希望能够添加一个参考日期,例如0-0-0,这将代表“无日期”。这样做的任何方式?并且0/0/0会工作吗?

2 个答案:

答案 0 :(得分:2)

如果你想表示“没有日期”,请通过明确地将其设置为“无日期”来做到这一点,在Groovy中只需通过为日期变量指定空值来完成。

Date someDate = new Date()
print someDate //prints current date
someDate = null
print someDate //prints null - you can test for that

答案 1 :(得分:1)

日期0/0/0是否代表实际的点(或间隔)?换句话说,如果你有一个桌面日历可以延伸到未来并回到过去,你能找到一个与0/0/0对应的页面吗?如果答案为否,则这不是有效的Date值,因此无法分配给Date变量。

另一方面,如果0/0/0表示实际时间点,例如在AD的第一年的第一天,这样的事情可能会起作用

import static java.util.Calendar.*
def cal = Calendar.instance
cal[YEAR] = -1900
cal[MONTH] = 0
cal[DAY_OF_MONTH] = 1
cal.clearTime()

Date dayZero =  cal.time

然而,我的直觉是这是一个坏主意,并且有一个更好的解决方案来解决这个奇怪的日期使用的潜在问题。