为什么我需要在Grails中解析日期?

| 我很不幸,我需要在使用旧数据的Grails应用程序中使用复合ID。这意味着我必须重写控制器中的某些操作,但是当我这样做时,我为无法将date参数直接用作动态方法的参数而感到震惊。 我首先需要解析日期字符串,然后再将其提供给动态方法,而不仅仅是执行“ 0”。为了使事情更复杂,我不知道日期字符串的格式是什么(直到我在输出中添加了许多log.debug()字符串)。所以现在我有一些像这样的代码
def formatter = new SimpleDateFormat(\"EEE MMM d HH:mm:ss z yyyy\")
MyLegacyObj.findBySystemIdAndLogDate(params.systemId, formatter.parse(params.logDate));
这感觉不是最理想的,更不用说是危险的了(如果日期格式随语言环境变化会怎样?)?建议这样做的方式是什么,我真的需要解析日期吗?     
已邀请:
Date
是一个非常复杂的对象,
params
只是
String
s,因此
Date
是部分提交的。分配
x.properties = params
时,它是“神奇地”从零件组装而成的。 如果您向其中添加“ 2”字段,Command对象将为您完成工作。 它与方法的动态或静态调用无关。呈现“ 2”编辑器的GSP也可能会干扰。     

要回复问题请先登录注册