2011-05-17 64 views
1

出於某種原因,我希望能夠添加一個參考日期,如0-0-0,它將代表'無日期'。任何方式做到這一點?並將0/0/0工作?Grails域類日期

回答

2

如果您想要表示「無日期」,請通過將其明確設置爲「無日期」來表示「無日期」,Groovy中的「無日期」只需通過爲日期變量分配空值來完成。

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

日期0/0/0是否代表真實的時間點(或間隔)?換句話說,如果你的桌面日曆無限延伸到了未來,回到過去,你能找到一個對應於0/0/0的頁面嗎?如果答案是否定的,那麼這不是有效的Date值,因此不能被分配給Date變量。另一方面,如果0/0/0代表真實的時間點,例如,如果0/0 /元年公元的第一天,那麼這樣的事情可能會奏效

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 

然而,我的直覺是,這是一個壞主意,並有一個更好的解決潛在的問題,這個怪異的日期使用。