本土化函式集合

1. 概述

1.1 版本

伺服器版本
插件版本功能變動
11.0
V1.0-
V1.2新增TODATEPRO函式,可傳回當前日期對應的公曆日期。
V1.3部分適配多語言。
V1.4新增節假日函式、泰國貨幣函式。

1.2 功能簡介

FineReport目前預設的函式無法很好地滿足海外各區域的實際使用場景,為了讓產品國際化實例更加全面、完善,新增本土化函式集合。效果如下图所示:

2. 插件安裝

點選下載:本土化函式集合 。

設計器插件安裝步驟,可參考伺服器-設計器插件管理 。

決策平台插件安裝步驟,可參考伺服器插件管理 。

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原日期物件的日期格式。
chronology選填,指定曆法。

"j"表示日本年號,"m"表示臺灣民國曆,"t"表示泰國佛曆。

locale

選填,locale 表示語種。

如:“zh”表示“簡體”, “zh_TW”表示“繁體”,“en_US”表示“英語”,“ja_JP”表示“日語”。

注:locale 可以為空,如果為空,預設取系統語言作為參數值。

傳回值

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_date, end_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為清明節假期,2024-04-13和2024-04-14為週末

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為清明節假期,2024-04-13和2024-04-14為週末

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. 範本下載

附件列表


主題: 報表專題
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

8s后關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙