问题描述
我需要以所需的格式显示下面的“字符串”
字符串 str = 1979-01-24T00:00:00.000-08:00
所需格式:Jan 24,1979 00:00:00 AM PST
注意:str 中的 tz 可以是任何不限于 PST 的 tz。
尝试了以下但没有奏效:
-
str?datetime.iso
- 输出为Jan 24,1979 2:00:00 AM CST
- 这以我需要的格式显示日期时间,但时间正在从 PST 转换为 CST。 -
str?string("MMM dd,yyyy hh:mm:ss a zzz")
- 错误:需要一个方法,但已计算为字符串 -
str?datetime?string("MMM dd,yyyy hh:mm:ss a zzz")
- 错误:无法解析的日期:“1979-01-24T00:00:00.000-08:00” -
<#setting datetime_format="iso"> str?datetime
-1979-01-24T02:00:00-06:00
- 时区已更改。
解决方法
时区可以通过以下设置进行配置,参考他们的文档https://freemarker.apache.org/docs/ref_directive_setting.html
<#setting time_zone ="PST">
<#assign str = "1979-01-24T00:00:00.000-08:00">
${str?datetime.iso}