intl
Use the Intl Javascript API to render dates and numbers
- Author: Allan Jardine
- Requires: DataTables 1.10+
Rendering methods using the Javascript Intl API. This is supported by IE11, Edge, Chrome, Firefox and Safari 10+. Any browser that does not support the Intl will simply show the unformatted data to the end user.
The great advantage of using these methods is that your table's data will automatically be shown to your end user formatted for their locale. For example a date might be formatted as "m/d/yyyy" in the US, while in France it would show as "dd/mm/yyyy".
Two rendering methods are available:
intlNumber
which will format numbers.intlDateTime
which formats date times.
Both optionally takes two arguments:
- [Optional] Locale or array of locales
- [Optional] Formatter options
For the supported options please see the MDN documentation for DateTimeFormat and NumberFormat.
Use
This plug-in can be obtained and used in multiple different ways.
Browser
This plug-in is available on the DataTables CDN:
The plug-in will then automatically register itself against a global DataTables instance. This file can also be used if you are using an AMD loader such as Require.js.
Note that if you are using multiple plug-ins, it can be beneficial in terms of performance to combine the plug-ins into a single file and host it on your own server, rather than making multiple requests to the DataTables CDN.
NPM
The plug-ins are all available on NPM (which can also be used with Yarn or any other Javascript package manager) as part of the datatables.net-plugins
package. To use this plug-in, first install the plug-ins package:
npm install datatables.net-plugins
ES modules
Then, if you are using ES modules, import datatables.net
, any other DataTables extensions you need, and the plug-in:
import DataTable from 'datatables.net';
import 'datatables.net-plugins/dataRender/intl.mjs';
CommonJS
If you are using a CommonJS loader for Node (e.g. with older versions of Webpack, or non-module Node code) use the following method to require
the plug-in:
var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/dataRender/intl.js');
Examples
// 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'
} )
Version control
If you have any ideas for how this plug-in can be improved, or spot anything that is in error, it is available on GitHub and pull requests are very welcome!
- This plug-in: intl.js
- Full DataTables plug-ins repository: DataTables/Plugins