1

我有一个带有日期字段的实体类(java.sql.Date,Spring 3)。有人知道如何将日期转换为字符串(可能是 @DateTimeFormat(pattern="dd/MM/yyyy") )。感谢帮助

4

2 回答 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 回答