模版函数 format 使用详解

作者:  最后修改:2015年05月18日  浏览数:319

  format是一个格式化数据函数,主要支持两种数据格式,数值和时间。一般在文章详细页输出时间数据时我们一般用${format(Article.AddTime,'yyyy-MM-dd HH:mm')}来格式化时间。

  使用方法: 参数1为数据  参数2为格式   fomat(data,fmt)

    实际上format的格式化时间是通过jdk中SimpleDateFormat类是实现,格式化数值通过jdk中DecimalFormat类实现。

  时间常用参数

    G 年代标志符
      y 年
      M 月
      d 日
      h 时 在上午或下午 (1~12)
      H 时 在一天中 (0~23)
      m 分
      s 秒
      S 毫秒
      E 星期
      D 一年中的第几天
      F 一月中第几个星期几
      w 一年中第几个星期
      W 一月中第几个星期
      a 上午 / 下午 标记符 
      k 时 在一天中 (1~24)
      K 时 在上午或下午 (0~11)
      z 时区

  

  时间格式化实例

  $ {format('2015-05-18 13:2:3','y-M-d ah:m:s K')} 结果:2015-5-18 PM1:2:14 //短时间格式 


  $ {format('2015-05-18 13:2:14','yyyy年MM月dd日 HH:mm:ss')} 结果:2015年05月18日 13:02:14 //长时间格式 


  $ {format('2015-05-18 13:2:14','标志:G 年:y 年中的月份:M 年中的周数:w 年中的天数:D 月中的天数:d 月中的星期:F 星期中的天数:E 上下午标记:a 小时(24):H 小时中的分钟数:m 分钟的秒数:s 秒钟中的毫秒数:S 时区:z 时区:Z ')}  

  结果:标志:AD 年:2015 年中的月份:5 年中的周数:21 年中的天数:138 月中的天数:18 月中的星期:3 星期中的天数:Mon 上下午标记:PM 小时(24):13 小时中的分钟数:2 分钟的秒数:14 秒钟中的毫秒数:0 时区:CST 时区:+0800

  (标志 时区 星期等显示与服务器jvm本地化设置有关,大家要注意MM和mm 以及HH和hh的区别,容易混用)

 

  数值格式常用参数:

    0 一个数字 

    # 一个数字,不包括 0 
 
    . 小数的分隔符的占位符 
 
    , 分组分隔符的占位符 
 
    ; 分隔格式。 
 
    - 缺省负数前缀。 
 
    % 乘以 100 和作为百分比显示 
 
    ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代替十进制分隔符。 
 
    X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。 
 
 

  数值格式化实例

  ${format(12.34,"0.0")} 结果:12.3

  $ {format(12.34,"#.#")}  结果:12.3


  $ {format(12.34,"000.000")}  结果:012.340


  $ {format(12.34,"###.###")}  结果:12.34