1
0
mirror of https://github.com/musix-org/musix-oss synced 2024-11-10 11:20:19 +00:00
musix-oss/node_modules/date-and-time/PLUGINS.md
2019-10-10 16:43:04 +03:00

2.1 KiB

Plugins

As this library is oriented towards minimalism, it might be lacking in functionality for some people. Plugin is the most realistic solution for solving such dissatisfaction.

Usage

In this section it describes how to use official plugins.

  • Node.js:
const date = require('date-and-time');
require('date-and-time/plugin/foobar');

date.plugin('foobar');
  • ES6 transpiler:
import date from 'date-and-time';
import 'date-and-time/plugin/foobar';

date.plugin('foobar');
  • Browser:
<script src="/path/to/date-and-time.min.js"></script>
<script src="/path/to/plugin/foobar.js"></script>

<script>
date.plugin('foobar');
</script>

Official Plugins

Meridiem

Extends meridiem notation (AA, a and aa).

// Import "medidiem" plugin.
date.plugin('meridiem');

// This is a default A token.
date.format(new Date(), 'hh:mm A');     // => '12:34 p.m.'

// These are extended tokens.
date.format(new Date(), 'hh:mm AA');    // => '12:34 PM'
date.format(new Date(), 'hh:mm a');     // => '12:34 P.M.'
date.format(new Date(), 'hh:mm aa');    // => '12:34 pm'

// The parse() comes to interpret all these meridiem notation with only A token.
date.parse('12:34 p.m.', 'hh:mm A');    // => Jan. 1 1970 12:34:00
date.parse('12:34 PM', 'hh:mm A');      // => Jan. 1 1970 12:34:00
date.parse('12:34 P.M.', 'hh:mm A');    // => Jan. 1 1970 12:34:00
date.parse('12:34 pm', 'hh:mm A');      // => Jan. 1 1970 12:34:00

// The new tokens cannot be used unlike the format().
date.parse('12:34 PM', 'hh:mm AA');     // => Invalid Date

Ordinal

Adds ordinal notation (DDD).

// Import "ordinal" plugin.
date.plugin('ordinal');

// These are default D/DD tokens.
date.format(new Date(), 'MMM. D YYYY');     // => Jan. 1 2019
date.format(new Date(), 'MMM. DD YYYY');    // => Jan. 01 2019

// DDD token outputs ordinal number of day.
date.format(new Date(), 'MMM. DDD YYYY');   // => Jan. 1st 2019

Extension

You could not only use existing plugins, but define your own tokens or modify existing tokens behavior.

WIP