是否可以在Grails中以格式dd/MM/yy
的数据库保存日期值?我知道我可以在视图中自定义格式,但我需要将值作为json返回,并以该格式返回json中的日期值。任何建议将不胜感激。
答案 0 :(得分:3)
在表示层上尝试此操作,不要在数据库中以该格式节省时间。使用以下代码根据您的需要格式化时间。
Date date = new Date( );
SimpleDateFormat simpleFormat = new SimpleDateFormat ("dd/MM/yy");
System.out.println("Date: " + simpleFormat .format(date));
但是如果你想在数据库中以这种格式保存数据,那么记住它返回一个字符串,你必须在数据库中以String格式保存日期。因为很多原因我不推荐。
答案 1 :(得分:1)
您不应将日期存储为格式化字符串,因为您无法使用该字段执行许多操作,例如对其进行排序或比较。始终使用数据库的本机日期格式进行存储。如果要更改格式,可以使用许多地方,包括表示层(正如其他人建议的那样)和数据库查询层。如果要在Java / Javascript中进行最少的处理,请在查询中设置日期格式。
答案 2 :(得分:0)
与其他人一致,您不应以String格式保存在数据库中。要使用Groovy格式化Date,可以使用String.format()方法。
String.format('%tY-%<tm-%<td', new Date())
有关更多示例,请参阅Groovy dates documentation。