我有一个Web应用程序,它发送一封包含有关活动详情的电子邮件。该电子邮件使用Java后端发送的Velocity模板。此应用程序托管在位于巴西的Tomcat服务器上。
当电子邮件中包含活动日期时,我会看到以下内容
Data e Horário da Conferência (Conference Date): Mon Feb 05 10:45:00 BRST 2018
由于应用程序托管在巴西,日期/时间和时区是正确的,但我想打印出日期:
Data e Horário da Conferência (Conference Date): Seg 05 Fev 10:45:00 BRST 2018
注意日期和月份的拼写。
有没有办法在Velocity文件或Java中实现这一点?或者我是否可能需要更改一些Tomcat设置?
示例:
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Duser.country=BR -Duser.language=pt"
非常感谢任何帮助!
答案 0 :(得分:1)
你可以使用速度的DateTool,它是velocity tools(jar)的一部分
此工具的方法高度互连,覆盖的关键方法提供了一种创建使用非默认格式,日历,区域设置或时区的子类的简便方法。
将其添加到速度上下文:
context.put("date", new DateTool());
然后使用toDate/format函数
format(字符串格式,Object obj,Locale语言环境) 将指定的对象转换为日期,并返回表示指定区域设置中该日期的格式化字符串。
$date.format(....)