转换日期Freemarker

时间:2016-07-06 23:52:57

标签: freemarker date-formatting

我试图让以下内容工作,但我无法显示正确的值。

假设SHIPPING_DATE被视为值为2016/05/23的字符串:

<#setting date_format="MM/dd/yyyy">
<#setting locale="en_US">

<#assign ship_date>${SHIPPING_DATE}</#assign>

${ship_date?date("MM/dd/yyyy")}

输出 12/05/0190 ,但我期待 05/23/2016 。请问有人帮忙,还要解释我做错了什么,拜托?

1 个答案:

答案 0 :(得分:1)

如果您在ship_date 2016/05/23中有字符串,则可以使用ship_date?date("yyyy/MM/dd")将其解析为实际日期值。请注意,它不是MM/dd/yyyy,如您的示例所示。 ?date表示“转换为日期”,并指定如何解释字符串。然后,当您使用${...}打印实际日期值(不是字符串)时,它将根据data_format配置设置转换为字符串,因此MM/dd/yyyy将是好的。它不会影响实际日期值的获取方式(例如使用string?date(format)或直接来自数据模型)。​​