当前位置: 首页 > 知识库问答 >
问题:

将Spring MVC中的默认/全局日期格式设置为ISO 8601

仲孙鸿飞
2023-03-14
@RequestMapping(value="", method=RequestMethod.GET)
public void search(MyDTO dto) {
    // ...
}
public class MyDTO {
    private DateTime date;
    public DateTime getDate() { return date; }
    public void setDate(DateTime date) { this.date = date; }
}
Failed to convert property value of type 'java.lang.String' to required type
'org.joda.time.DateTime' for property 'date'; nested exception is
org.springframework.core.convert.ConversionFailedException: Failed to convert
from type java.lang.String to type org.joda.time.DateTime for value
'2013-09-25T23:05:18.000+02:00'; nested exception is
java.lang.IllegalArgumentException: Invalid format:
"2013-09-25T23:05:18.000+02:00" is malformed at "13-09-25T23:05:18.000+02:00"

对于java.util.Date以及所有那些Joda日期和时间容器,必须有某种方法来更改它。

我刚刚在WebMVCConfigurationSupport中找到了AddFormatters(FormatterRegistry registry)方法,但我并不真正知道如何使用它。

共有1个答案

郁博学
2023-03-14

我给Joda Time弄来的:

public class WebConfig extends WebMvcConfigurationSupport {
    @Override
    public void addFormatters(FormatterRegistry registry) {
        JodaTimeFormatterRegistrar j = new JodaTimeFormatterRegistrar();
        j.setUseIsoFormat(true);
        j.registerFormatters(registry);
    }       
}

我希望有一种更简单的方法来完成所有可能的Date实现。

最初发布的问题编辑由OP,Benjamin M

 类似资料:
  • 我正在工作的非Spring靴项目。 对于spring boot,您可以使用以下属性: 如果我能在没有Spring的情况下设置这样的属性,那就太好了。

  • 问题内容: 我已经使用Apache POI一段时间来以编程方式读取现有的Excel 2003文件。现在,我有一个新的要求,即在内存中创建整个.xls文件(仍然使用Apache POI),然后将它们最后写入文件中。困扰我的唯一问题是带日期的单元格的处理。 考虑以下代码: 当我将包含此单元格的工作簿写到文件中并用Excel打开它时,该单元格将显示为数字。是的,我确实意识到Excel将其“日期”存储为自

  • 第一次使用Oracle SQL(我习惯使用MySQL)。我发现关于默认日期格式的信息有冲突。在多次尝试使用INSERT IN my\u table语句的to\u DATE之后,我终于找到了我正在使用的数据库expects DD-MON-YY(即2018年1月25日)。然而,在stackoverflow和其他地方的不同页面上,我看到一些人说默认值是YYYYMMDD或DD/MM/YYYY或YYYY-M

  • 设置全局默认样式,将会影响所有写入单元格的样式; 函数原型 defaultFormat(resource $formatHandler) resource $formatHandler $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ $excel->fileName('tutorial

  • 我从open API中获取的日期是。我想以以下方式格式化它。下面是我尝试的方法: 这将抛出一个错误,说明: 请注意,如果我从open api中提取的数据是,那么这个方法可以正常工作,并返回 请建议和劝告。

  • 问题内容: 我试图在我的中设置全局序列化器设置。 使用以下代码序列化对象时,是否不使用全局序列化程序设置? 是否可以像这样设置全局序列化程序设置,或者我遗漏了什么? 问题答案: 设置成功了。