國際化

使用 Intl Javascript API 來呈現日期和數字

使用 Javascript Intl API 的渲染方法。IE11、Edge、Chrome、Firefox 和 Safari 10+ 支援此功能。任何不支援 Intl 的瀏覽器將只會向終端使用者顯示未格式化的資料。

使用這些方法的巨大優勢在於,您表格中的資料將自動以適合使用者地區設定的格式顯示。例如,在美國日期可能格式化為「m/d/yyyy」,而在法國則會顯示為「dd/mm/yyyy」。

提供兩種渲染方法

  • intlNumber 將格式化數字。
  • intlDateTime 將格式化日期時間。

兩者都可選擇性地接受兩個參數

  1. [可選] 地區設定或地區設定陣列
  2. [可選] 格式化選項

有關支援的選項,請參閱 MDN 文件中關於 DateTimeFormatNumberFormat 的說明。

使用方式

此外掛程式可以透過多種不同的方式取得和使用。

瀏覽器

此外掛程式可在 DataTables CDN 上取得

JS

然後,外掛程式會自動將其自身註冊到全域的 DataTables 實例。如果您使用 AMD 載入器 (例如 Require.js),也可以使用此檔案。

請注意,如果您使用多個外掛程式,將這些外掛程式合併到單一檔案並將其託管在您自己的伺服器上,而不是向 DataTables CDN 發出多個請求,在效能方面可能會更有利。

NPM

這些外掛程式都可在 NPM 上取得 (也可以與 Yarn 或任何其他 Javascript 套件管理器一起使用),作為 datatables.net-plugins 套件的一部分。要使用此外掛程式,請先安裝外掛程式套件

npm install datatables.net-plugins

ES 模組

然後,如果您使用的是 ES 模組,請匯入 datatables.net、您需要的任何其他 DataTables 擴充套件和此外掛程式

import DataTable from 'datatables.net';
import 'datatables.net-plugins/dataRender/intl.mjs';

CommonJS

如果您使用的是適用於 Node 的 CommonJS 載入器 (例如,使用舊版本的 Webpack 或非模組化的 Node 程式碼),請使用以下方法 require 外掛程式

var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/dataRender/intl.js');

範例

// Number renderer - using the `columns.render` option:
  render: DataTable.render.intlNumber()
// Number renderer - with specified locale:
  render: DataTable.render.intlNumber('de')
// Number renderer - with specified locale and options:
  render: DataTable.render.intlNumber('de', {
    style: 'currency',
    currency: 'USD'
  } )
// Date time renderer - using the `columns.render` option:
  render: DataTable.render.intlDateTime()
// Date time renderer - with specified locale:
  render: DataTable.render.intlDateTime('en-US')
// Date time renderer - with specified locale and options:
  render: DataTable.render.intlDateTime('de', {
    weekday: 'long'
  } )

版本控制

如果您對如何改進此外掛程式有任何想法,或發現任何錯誤,它可以在 GitHub 上取得,並且非常歡迎提交 pull request!