反饋已提交

網絡繁忙

本土化函式集合

1. 概述

1.1 版本

伺服器版本
jar包版本插件版本功能變動
10.02019-07-31V1.0-
11.02022-03-28V1.0-
11.02022-03-28
V1.2新增TODATEPRO函式,可傳回當前日期對應的公曆日期。

1.2 功能簡介

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

在本地函式優化集合 V1.2 中,針對已有公式 CNMONEY(傳回金額大寫)、LUNAR(傳回當前日期對應的陰曆時間)、FORMAT(傳回object的format格式)、TODATEPRO(傳回當前日期對應的公曆時間)做了優化和功能擴展,應對不同地區的場景。效果如下图所示:

2. 插件安裝

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

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

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

3. 函式說明

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

選填,指定曆法。

"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"表示泰國佛曆。

注:chronology 可以為空,如果為空,預設顯示西元日期。

傳回值

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

4. 範例

在儲存格中輸入以下函式:

函式示例

=ZHMONEY(3.45,"w","zh_TW")

=ZHLUNAR(2020, 6, 4, "zh_TW")
=DATEFORMAT(TODAY(),"YYYY-MM-dd EEEE")
=DATEFORMAT(TODAY(),"GGyyy-MM-dd, EEEE","zh_TW","m")
=DATEFORMAT(TODAY(),"GGGGyy-MM-dd, EEEE","ja_JP","j")
=DATEFORMAT(TODAY(),"YYYY-MM-dd, EEEE","en_US")
=DATEFORMAT(TODAY(),"YYYY-MM-dd, EEEE","en_US","t")
=TODATEPRO("民國112-11-15", "GGyyy-MM-dd", "m", "zh_TW")
=TODATEPRO("平成35年11月15日, 水曜日", "Gy年MM月dd日, EEEE", "j", "ja_JP")
=TODATEPRO("2566/11/15", "yyyy/MM/dd", "t")

點選儲存,預覽效果如下圖所示:

5. 範本下載

點選下載範本:本土化函式集合範例.cpt

附件列表


主題: 報表專題
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

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

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

不再提示

10s後關閉