我想提供一个选项,在属性文件中为应用程序配置日期格式。 我曾想过在spring中使用转换服务实现它,以及我将用作jquery datepicker的日期格式属性的模型。随着我的进一步发展,我发现SimpleDateFormat和jquery datepicker以不同的模式为相同的格式字符串格式化日期。应该有一个标准,但遗憾的是并非如此。 另外一种方法是什么?
答案 0 :(得分:1)
我花了一些时间来完全掌握问题是什么,但听起来你知道如何使用Spring进行格式化但是在格式化日期时jquery使用与Java不同的模式这一事实有问题吗?我相信您最好的办法可能就是在您的房产中存储两种模式:
java.date.format=yyyy-MM-dd...
jquery.date.format=yyyy-mm-dd...
显然,这意味着配置需要确保为每个属性使用等效格式,以便它们始终正确转换,但我能看到的唯一选择是创建从jquery到java的自动格式转换器(反之亦然)。
或者,您是否考虑过在提交之前将日期转换为毫秒,然后使用它在Java端重新创建日期?我想,会简单得多。
评论后编辑
听起来目标最终是拥有一个可配置的属性:
date.format=yyyy-mm-dd...
为了避免从jquery的日期格式化标记到Java的日期格式标记的复杂映射,最好以下列形式创建自己的自定义日期格式:
[millis],[timeZoneOffset]
您的属性文件应包含jquery格式字符串,以便Datepicker将呈现您希望客户端看到的格式。然后,在选择日期时,您应该在提交给控制器之前将其转换为[millis],[timeZoneOffset]
自定义格式。在Spring / Java端,您应该创建并注册一个接受此Date
格式的自定义[millis],[timeZoneOffset]
转换器,并创建相应的Date
对象。
就个人而言,我认为创建自己的自定义日期格式以解决此问题没有任何问题。您将尝试将jquery映射到Java,以及最终Spring的自定义转换器可以帮助您,从而为您节省很多麻烦。