Java 在Freemarker中将GergorianCalendar日期转换为自定义日期格式
我有一个GergorianCalendar日期,格式为Java 在Freemarker中将GergorianCalendar日期转换为自定义日期格式,java,freemarker,Java,Freemarker,我有一个GergorianCalendar日期,格式为2018-04-30T00:00:00.000+05:30。我需要更改其时区并将其转换为格式2018年7月1日美国东部时间上午9:55。如何在freemarker中实现这一点?首先,在配置freemarker的地方(通常使用其Java API或通过Java.util.Properties),将时区配置设置设置为EST(或将Java的默认时区设置为该时区),将datetime\u格式配置设置为“dd/MM/yyyy hh:MM a z”(您也可
2018-04-30T00:00:00.000+05:30
。我需要更改其时区并将其转换为格式2018年7月1日美国东部时间上午9:55
。如何在freemarker中实现这一点?首先,在配置freemarker的地方(通常使用其Java API或通过Java.util.Properties
),将时区
配置设置设置为EST
(或将Java的默认时区设置为该时区),将datetime\u格式
配置设置为“dd/MM/yyyy hh:MM a z”
(您也可以在模板中设置它们,如
,但这通常是一种不好的做法。)
然后,如果可以,在调用FreeMarker之前,将该字符串
转换为java.util.Date
,这样它在数据模型中就已经是日期了。但是如果不能,也可以在模板中这样做:
${d?datetime.iso}
其中ISO指的是ISO 8601:2004格式,显示的字符串使用该格式