JSPM

  • Created
  • Published
  • Downloads 421265
  • Score
    100M100P100Q197102F
  • License MIT

Formats JavaScript dates to relative time strings.

Package Exports

  • @formatjs/intl-relativetimeformat
  • @formatjs/intl-relativetimeformat/dist/locale-data/de
  • @formatjs/intl-relativetimeformat/dist/locale-data/en
  • @formatjs/intl-relativetimeformat/dist/locale-data/en.js
  • @formatjs/intl-relativetimeformat/dist/locale-data/en.json
  • @formatjs/intl-relativetimeformat/dist/locale-data/es
  • @formatjs/intl-relativetimeformat/dist/locale-data/et
  • @formatjs/intl-relativetimeformat/dist/locale-data/fr
  • @formatjs/intl-relativetimeformat/dist/locale-data/ja.js
  • @formatjs/intl-relativetimeformat/dist/locale-data/ru
  • @formatjs/intl-relativetimeformat/dist/locale-data/sr
  • @formatjs/intl-relativetimeformat/dist/locale-data/sv
  • @formatjs/intl-relativetimeformat/dist/locale-data/zh.json
  • @formatjs/intl-relativetimeformat/polyfill
  • @formatjs/intl-relativetimeformat/polyfill-locales
  • @formatjs/intl-relativetimeformat/polyfill.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@formatjs/intl-relativetimeformat) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Intl RelativeTimeFormat

A spec-compliant polyfill/ponyfill for Intl.RelativeTimeFormat fully tested by the official ECMAScript Conformance test suite

npm Version size

Installation

npm install @formatjs/intl-relativetimeformat

Requirements

This package requires the following capabilities:

  1. Intl.PluralRules

NOTE: formatToParts only works on Node 10+ due to lack of Intl.NumberFormat.prototype.formatToParts natively

Usage

Ponyfill

To use the ponyfill, import it along with its data:

import IntlRelativeTimeFormat from '@formatjs/intl-relativetimeformat';
// locale-data for zh
IntlRelativeTimeFormat.__addLocaleData(
  require('@formatjs/intl-relativetimeformat/dist/locale-data/zh.json')
);

// locale-data for zh
IntlRelativeTimeFormat.__addLocaleData(
  require('@formatjs/intl-relativetimeformat/dist/locale-data/en.json')
);

new IntlRelativeTimeFormat('zh-CN').format(-1, 'second'); // '1秒钟前'

Polyfill

To use the polyfill, just import it to make sure that a fully functional Intl.RelativeTimeFormat is available in your environment:

import '@formatjs/intl-relativetimeformat/polyfill';
import '@formatjs/intl-relativetimeformat/dist/locale-data/de'; // Add locale data for de

If you want to polyfill all locales (e.g for Node):

import '@formatjs/intl-relativetimeformat/polyfill-locales';

Tests

This library is fully test262-compliant.