FreeMarker - 从毫秒中删除逗号

Posted

技术标签:

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

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

$mydate?long

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

524,354,400,000

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。

这对我有用

谢谢

【讨论】:

以上是关于FreeMarker - 从毫秒中删除逗号的主要内容,如果未能解决你的问题,请参考以下文章

freemarker中遍历一个list,得到指定的值 然后以逗号隔开

如何在 Freemarker 列表之间获取逗号

Free 基础概念

在freemarker页面获取长类型的逗号内值

Freemarker 以毫秒为单位将时间戳转换为带有时区的日期

无法正确解析FreeMarker视图