带有日期参数的java时区和MessageFormat
MessageFormat类很酷,因为我们可以插入参数并直接使用它进行格式化。 这使我能够轻松地直接覆盖消息包属性文件中的日期格式
例如:
MessageFormat.format("Test inserting a date param here: {0,date,dd/MM/yyyy HH'h'mm} -> OK cool", new Date() );
但是如果我需要在不同的时区显示日期呢
我知道我可以在将日期注入包之前格式化所有日期,但格式化显示的每个日期是一件痛苦的事情
在工作中,我们使用
<>我可能会尝试重写它,并创建自己的消息格式,考虑使用好的时区。但它可能不适合我们的架构org.springframework.context.support.ReloadableResourceBundleMessageSource
你还有其他选择吗
# 1 楼答案
我只是在看同样的问题。这个解决方案看起来很有趣:https://groups.google.com/d/msg/comp.lang.java.programmer/1AJIpwtn5HA/zd3Sw8IJrTQJ
想法是在MessageFormat中检查解析的格式,并将时区设置为日期格式