【问题标题】:FreeMarker - Remove comma from millisecondsFreeMarker - 从毫秒中删除逗号
【发布时间】:2014-03-01 21:26:24
【问题描述】:

使用 FreeMarker,我想以毫秒为单位显示日期:

${mydate?long}

但我得到一个逗号分隔的毫秒作为输出:

524,354,400,000

Freemarker 中是否有任何内置函数可以删除逗号?

谢谢

【问题讨论】:

    标签: java date freemarker


    【解决方案1】:

    看起来你可以使用2.3.17 版本:

    ${myDate?long?c}
    

    http://sourceforge.net/p/freemarker/feature-requests/72/

    【讨论】:

    • 有效!是的,我使用的是 2.3.20。谢谢!
    • 在我的版本 (2.3.26) 中,只要 ${myDate?c} 就足够了,假设 myDate 已经是一个 long/int。
    • 这也适用于我,谢谢!如果其他人想知道“c”代表什么:它的意思是“计算机语言”,因此删除了用于人类可读性的逗号:freemarker.apache.org/docs/…
    • @lance.dolan 谢谢,为我工作,我添加了这条评论作为答案。
    【解决方案2】:

    作为替代方案,您可以在 Freemarker 模板上编写以下指令:

    <#setting number_format="computer">
    

    这将删除数字中的所有逗号。

    这适用于 Freemarker 2.3.23

    关于这些指令的更多信息可以在这里找到:

    http://freemarker.org/docs/ref_directive_setting.html

    【讨论】:

      【解决方案3】:

      添加到 Gil 的回答中,如果您在代码中构建配置,则可以通过以下方式全局设置标志:

      Configuration cfg = new Configuration();
      ...
      cfg.setNumberFormat("computer");
      

      【讨论】:

        【解决方案4】:

        从已接受答案的评论中复制,

        在我的版本 (2.3.26) 中,只需 ${myDate?c} 就足够了,假设 myDate 已经是 long/int。

        这对我有用

        谢谢

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-10-21
          • 2021-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多