反馈已提交

网络繁忙

将日期型转化为中文形式

  • 文档创建者:lu123
  • 历史版本:11
  • 最近更新:Carly 于 2023-04-26
  • 1. 概述

    1.1 问题描述

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

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

    实现效果如下图:

    222

    1.2 解决思路

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

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

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

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

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

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

    2. 示例

    2.1 控件设置

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

    222

    2.2 属性设置

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

    222

    公式解释:REPLACE(NUMTO(YEAR($$$),true),"零","〇"),表示将其中输出的中文的零替换为特殊字符 〇。REPLACE 函数的具体使用,可参见 文本函数

    2.3 效果预览

    2.3.1 PC 端

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

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

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

    • 公式:REPLACE(NUMTO(YEAR(today()),true),"零","〇")+"年"+format(today(),'MMMMM')+NUMTO(DAY(today()),false)+"日"+format(today(),'EEEEE')

    • 返回值:二O一八年二月十八日星期天

    2.3.2 移动端

    App 与 HTML5 端效果相同,如下图所示:

    3. 模板下载

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持