将日期型转化为中文形式

编辑
  • 文档创建者:印然
  • 浏览次数:7330次
  • 编辑次数:8次
  • 最近更新:Kevin-s 于 2019-06-17
  • 1. 描述

    因政府、事业单位的正式文件中的落款日期都是中文的。

    如:在 FineReport 中制作填报模板,使用了日期控件,希望在做填报时,将当前日期控件中选择的日期值(FR 中默认是yyyy-MM-dd的日期格式),能够以中文的方式输出显示,然后再入库,但入库的数据还是默认的数值型的 yyyy-MM-dd 的日期格式。

    实现效果如下图:

    222


    2. 思路

    使用NUMTO()函数,通过字符转化方式,将其转化为中文输出即可。

    NUMTO(number,bool):返回 number 的中文表示。

    注:其中 bool 用于选择中文表示的方式,当没有 bool 时,采用默认方式(false)显示。

    • 示例:NUMTO(2345,true)返回值为二三四五

    • 示例:NUMTO(2345,false)返回值为二千三百四十五

    • 示例:NUMTO(2345)返回值为二千三百四十五


    3. 示例

    3.1 控件设置

    新建一张普通报表,右击任意单元格,选择控件设置,选择控件为日期控件,格式为 yyyy-MM-dd。如下:

    222


    3.2 属性设置

    再右击此单元格,选择形态>公式形态,输入公式:REPLACE(NUMTO(YEAR($$$), true), "零", "〇") + "年" + NUMTO(MONTH($$$), false) + "月" + NUMTO(DAY($$$), false) + "日"

    222

    注:REPLACE(NUMTO(YEAR($$$),true),"零","〇"),表示将其中输出的中文的零替换为特殊字符 〇。

    注:REPLACE 函数的具体使用,可参见文本函数


    4. 保存预览

    保存模板后,选择填报预览。

    在日期控件中选择好日期后,点击其他处,显示效果如上图所示。

    注:有些日期的中文形式还想含有星期,公式如下所示。

    示例:

    【REPLACE(NUMTO(YEAR(today()),true),"零","〇")+"年"+format(today(),'MMMMM')+NUMTO(DAY(today()),false)+"日"+format(today(),'EEEEE')】返回值为【二O一八年二月十八日星期天】


    附件列表


    主题: 报表设计
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]