我有一个带有日期字段的实体类(java.sql.Date,Spring 3)。有人知道如何将日期转换为字符串(可能是 @DateTimeFormat(pattern="dd/MM/yyyy") )。感谢帮助
问问题
4359 次
2 回答
1
调用以下任何将数据返回为字符串格式的方法。
// 例如 System.out.println("日期:" + convertDateToString(new Date()));
// 例如 System.out.println("日期:" + convertDateToString(new Date(),"dd/MM/yyyy"));
public String convertDateToString(Date dt) {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String dateToString = df.format(dt);
return dateToString;
}
public String convertDateToString(Date dt, String pattern) {
DateFormat df = new SimpleDateFormat(pattern);
String dateToString = df.format(dt);
return dateToString;
}
于 2013-06-20T07:40:39.807 回答
1
您可以在 DateFormatterRegistrar 中注册一个格式化程序,只要您需要所有日期对象的 Date 对象的字符串表示形式,就会自动使用该格式化程序。请参阅文档。
我的工作示例如下所示:
public class DateFormatterRegistrar implements FormatterRegistrar {
@Override
public void registerFormatters(FormatterRegistry registry) {
registry.addFormatter(new DateFormatter("dd-MM-yyyy"));
}
}
那么配置是:
<mvc:annotation-driven conversion-service="conversionService"/>
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatterRegistrars">
<set>
<bean class="path.to.DateFormatterRegistrar" />
</set>
</property>
</bean>
但后来我认为他们在更新的版本中包含了一个弹簧 DateFormatterRegistrar - 必须检查 - 。
这样做的好处是它也可以反过来工作(将字符串转换为日期)。
但是,如果您想要的只是格式化这个特定的字段,那么 @DateTimeFormat(pattern="dd/MM/yyyy") 注释就是要走的路。只需将其放在相关字段之前即可。
于 2013-06-20T08:08:33.650 回答