本地化公式集合

  • 社区级协助
  • 文档创建者:mt6666
  • 历史版本:12
  • 最近更新:Tracy.Wang 于 2025-02-12
  • 1. 概述

    1.1 版本

    设计器版本插件版本功能变动
    11.0V1.0-
    V1.2新增 TODATEPRO 函数,可传回当前日期对应的公历日期
    V1.3部分适配多语言
    V1.4新增泰语货币转换公式、节假日公式

    1.2 应用场景

    FineReport 目前默认的函数无法很好地满足海外各区域地实际使用场景,为了让产品国际化实例更加全面、完善,新增本土化公式集合。效果如下图所示:

    2. 插件介绍

    2.1 插件安装

    点击下载插件:本地化公式集合

    设计器插件安装方法参照:设计器插件管理

    服务器安装插件方法参照:服务器插件管理

    3. 函数说明

    注:3.1-3.4 节公式需 V1.2 及以上版本插件,3.5 节及之后的公式需 V1.4 及以上版本插件。

    3.1 ZHMONEY

    实现 CNMONEY(返回金额大写)功能的同时,可以指定显示为简体或繁体。具体说明如下表所示。

    函数名称
    ZHMONEY(number, unit, locale)
    参数

    说明

    number

    必填,同 CNMONEY 中的 number

    需要转换的数值型的数字

    unit

    选填,同 CNMONEY 中的 unit

    单位

    "s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。

    注:单位(unit)可以为空,如果为空,则直接将 number 转换为人民币大写,否则先将 number 与单位的进位制相乘,然后再将相乘的结果转换为人民币大写。

    locale

    选填,字符串类型的 locale

    如:zh, zh_TW

    注:这个函数仅支持“zh”和“zh_TW”,locale 可以为空,如果为空:

    • 平台语言为繁体,则结果以繁体结果展示;

    • 平台语言为其他语言,则结果以简体结果展示。

    返回值

    若 locale 为 zh_TW,则返回繁体的大写数字。

    如:

    ZHMONEY(1234567890000.31) 平台语言为繁体 → 壹萬貳仟叁佰肆拾伍億陸仟柒佰捌拾玖萬圓叁角壹分

    ZHMONEY(3.4567,"wy", "zh_TW") → 叁兆肆仟伍佰陸拾柒億圓整

    3.2 ZHLUNAR

    实现 LUNAR(传回当前日期对应的阴历时间),可以指定显示为简体或繁体。具体说明如下表所示。

    函数名称
    ZHLUNAR(year, month, day, locale)

    参数

    说明

    year

    必填,同 LUNAR 中的 year

    month

    必填,同 LUNAR 中的 month

    day

    必填,同 LUNAR 中的 day

    locale

    选填,字符串类型的 locale

    如:zh, zh_TW

    注:这个函数仅支持“zh”和“zh_TW”,locale 可以为空,如果为空:

    • 平台语言为繁体,则结果以繁体结果展示;

    • 平台语言为其他语言,则结果以简体结果展示。

    返回值

    若 locale 为 zh_TW,则返回繁体的阴历日期,其他情况都返回简体的阴历日期。

    ZHLUNAR(2020, 6, 4) → 庚子年闰四月十三

    ZHLUNAR(2020, 6, 4, "zh_TW") → 庚子年閏四月十三

    3.3 DATEFORMAT

    DATAFORMAT 函数可以将 date 类型按照模式、区域、历法三个参数转换为 String。具体说明如下表所示。

    函数名称
    DATEFORMAT(date, pattern, locale, chronology)

    参数

    说明

    date

    必填,Date 类型的参数,可以通过 FR 中的 DATE 和 TIME 公式获取

    pattern

    必填,用于指定日期格式化后的样式

    如: GGGGyyyy-MM-dd, EEEE, hh:mm:ssa

    参考:https://help.gooddata.com/cloudconnect/manual/date-and-time-format.html

    locale

    选填,字符串类型的 locale

    如:“zh”表示“简体”,“zh_TW”表示“繁体”,“en_US”表示“英语”,“ja_JP”表示“日语”。

    注:locale 可以为空,如果为空,显示平台语言对应的公历,此时 chronology 的设置不生效。

    chronology

    选填,指定历法

    "j"表示日本年号,"m"表示台湾民国历,"t"表示泰国佛历

    注:chronology 可以为空,如果为空,默认显示公历。

    返回值

    DATEFORMAT(TODAY(), "yyyy-MM-dd HH:mm:ss") → 2021-11-08 00:00:00

    DATEFORMAT(TODAY(), "yyyy-MM-dd, EEEE", "zh_TW") → 2021-11-08, 星期一

    DATEFORMAT(TODAY(), "yyyy-MM-dd, EEEE", "en_US") → 2021-11-08, Monday

    DATEFORMAT(TODAY(), "GGGGyy-MM-dd, EEEE", "ja_JP", "j") → 令和 03-11-08, 月曜日

    注:需要保证 JDK 版本为 Oracle JDK 7u221, 8u211, 11.0.3 或 OpenJDK 7u221, 8u212-b03, 11.0.3+7 等版本之后才会正常显示“令和”年号。

    DATEFORMAT(TODAY(), "GGyyy-MM-dd, EEEE", "zh_TW", "m") → 民國 110-11-08, 星期一

    3.4 TODATEPRO

    TODATEPRO 函数可以将民国历、日本年号及泰国佛历的日期转换为 yyyy-MM-dd 形式、date 格式的公历。具体说明如下表所示。

    函数名称
    TODATEPRO(date, pattern, chronology, locale)

    参数

    说明

    date

    需要被转换的日期物件,需要为字串格式

    pattern原日期物件的日期格式
    locale

    选填,locale表示语种

    如:“zh”表示“简体”,“zh_TW”表示“繁体”,“en_US”表示“英语”,“ja_JP”表示“日语”

    注:locale 可以为空,如果为空,默认取系统语言作为参数值

    chronology

    选填,指定历法。

    "j"表示日本年号,"m"表示台湾民国历,"t"表示泰国佛历

    返回值

    TODATEPRO("民國111-07-01", "GGyyy-MM-dd", "m", "zh_TW") -> 2022-07-01

    TODATEPRO("平成21年12月01日, 火曜日", "Gy年MM月dd日, EEEE", "j", "ja_JP") -> 2009-12-01

    TODATEPRO("2566/09/21", "yyyy/MM/dd", "t") -> 2023-09-21

    3.5 BAHTTEXT、BAHTONLY

    BAHTTEXT、BAHTONLY 可将数字转换为泰文货币。

    函数名称
    BAHTTEXT(number)BAHTONLY(number)
    参数说明number:需要做转换的数字,内容类型必须为数值型。必填
    区别将数字转换为泰语文字并新增后缀“泰铢”将数字转换为泰语文字并新增后缀“泰铢”,但只处理整数部分(忽略小数)
    示例1)将整数转化为泰文(在末尾新增 "ถ้วน")
    BAHTTEXT(1234567)=หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ดบาทถ้วน
    2)将小数转化为泰文(整数部分末尾加上 "บาท",小数部分末尾加上 "สตางค์")
    =BAHTTEXT(1234567.89)=หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ดบาทแปดสิบเก้าสตางค์

    忽略小数,将整数部分转化成泰文(在末尾新增"บาทถ้วน")

    1)BAHTONLY(1234567)=หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ดบาทถ้วน

    2)BAHTONLY(1234567.89)=หนึ่งล้านสองแสนสามหมื่นสี่พันห้าร้อยหกสิบเจ็ดบาทถ้วน

    注:若设计器中泰文显示异常,请参考 泰文乱码 进行配置。

    3.6 节假日函数

    3.6.1 NETWORKDAYS

    NETWORKDAYS 函数可以用于计算两个日期之间的工作日天数。

    函数名称
    NETWORKDAYS(start_dateend_date[holidays])

    参数

    说明

    start_date

    开始日期

    end_date

    结束日期

    holidays

    选填,自定义的休息日

    • 如果周六和周日为休息日,则 [holidays] 为 [6,7]

    • 如果仅周日为休息日,则 [holidays] 为 [7]

    • 支持自定义休息日,例如 [2014-01-01, 2014-01-02]

    • holidays 参数为空时,默认周六和周日为休息日

    返回值

    1)2025-01-12 至 2025-01-19,周日为休息日

    NETWORKDAYS("2025-01-12","2025-01-19",[7])=6

    2)2025-01-12 至 2025-01-19,周六周日为休息日

    NETWORKDAYS("2025-01-12","2025-01-19",[6,7])=5

    3)2025-01-12 至 2025-01-19,自定义休息日(例如:周六、周日、2025-01-13 均为休息日)

    NETWORKDAYS("2025-01-12","2025-01-19",["2025-01-13",6,7])=4

    3.6.2 WORKDAY

    WORKDAY 函数可用于获取开始日期后 N 个工作日后的工作日日期。

    函数名称
    WORKDAY(start_date, days[holidays])

    参数

    说明

    start_date

    开始日期

    days

    开始日期后的工作日天数,为正值将生成未来日期,为负值生成过去日期。

    holidays

    选填,自定义的休息日

    • 如果周六和周日为休息日,则 [holidays] 为 [6,7]

    • 如果仅周日为休息日,则 [holidays] 为 [7]

    • 支持自定义休息日,例如 [2014-01-01, 2014-01-02]

    • holidays 参数为空时,默认周六和周日为休息日

    返回值

    1)周日为休息日

    WORKDAY("2025-01-12",7,[7])=2025-01-20

    2)周六周日为休息日

    WORKDAY("2025-01-12",7,[6,7])=2025-01-21

    3)自定义休息日(例如:周六、周日、2025-01-13 均为休息日)

    WORKDAY("2025-01-12",7,["2025-01-13",6,7])=2025-01-22

    3.6.3 HOLIDAYS

    HOLIDAYS 函数可用于传回开始日期到结束日期期间的休息日序列。

    函数名称
    HOLIDAYS(start_date, end_date, locale)

    参数

    说明

    start_date

    开始日期

    end_date

    结束日期

    locale

    地区语言,目前仅支持 zh_CN(中国大陆)和 zh_TW(中国台湾),为空时默认取工程语言(仅针对 zh_CN和 zh_TW)

    返回值

    1)中国大陆:2025-04-04 至 2025-04-06 为清明节假期,2025-04-12 和 2025-04-13 为周末

    HOLIDAYS("2025-04-01","2025-04-15","zh_CN")=2025-04-04,2025-04-05,2025-04-06,2025-04-12,2025-04-13

    2)中国台湾:2025-04-03 至 2025-04-06 为清明节假期,2025-04-12 和 2025-04-13 为周末

    HOLIDAYS("2025-04-01","2025-04-15","zh_TW")=2025-04-03,2025-04-04,2025-04-05,2025-04-06,2025-04-12,2025-04-13

    3.6.4 ISHOLIDAY

    ISHOLIDAY 函数可用于传回传参的日期是否是法定节假日。

    函数名称
    ISHOLIDAY(date, locale)

    参数

    说明

    date

    需进行判断的日期

    locale

    地区语言,目前仅支持 zh_CN(中国大陆)和 zh_TW(中国台湾),为空时默认取工程语言(仅针对 zh_CN和 zh_TW)

    返回值

    1)中国大陆:2025-04-03 为工作日

    ISHOLIDAY("2025-04-03","zh_CN")=false

    2)中国台湾:2025-04-03 为清明节假期

    ISHOLIDAY("2025-04-03","zh_TW")=true

    4. 模板下载

    点击下载模板:本地化公式集合.cpt

    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    8s后关闭



    AI

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

    反馈已提交

    网络繁忙