我處於不幸的境地,我需要在使用遺留數據的Grails應用程序中使用複合標識。這意味着我必須重寫控制器中的一些操作,但是正如我所做的那樣,我感到震驚的是,我無法直接使用日期參數作爲動態方法的參數。爲什麼我需要在Grails中解析日期?
而不是僅僅做MyLegacyObj.findBySystemIdAndLogDate(params.systemId, params.logDate)
,我首先需要解析日期字符串,然後將其提供給動態方法。爲了進一步複雜化,我不知道日期字符串有什麼格式(直到我在輸出中添加了大量log.debug()字符串)。所以現在我有一些代碼看起來像這樣
def formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy")
MyLegacyObj.findBySystemIdAndLogDate(params.systemId, formatter.parse(params.logDate));
這種感覺unoptimal,沒有說危險(如果用的語言環境的日期格式更改?)?什麼是這樣做的推薦方式,我真的需要解析日期嗎?