intl

利用 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 上获取(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 上提出,我们非常欢迎您的加入!