包详细信息

@citation-js/date

citation-js150.5kMIT0.5.1

Date parser and formatter

自述文件

Install

npm install @citation-js/date

Use

let { parse, format } = require('@citation-js/date')

parse('2000-12-31')
// { 'date-parts': [[2000, 12, 31]] }

format({ 'date-parts': [[2000, 12, 31]] }, '/')
// '2000/12/31'

Input

Supported formats:

  • Epoch time (in number form)
  • YYYY-MM-DD
  • [+-]YYYYYY[Y...]-MM-DD
  • [DDD, ]DD MMM YYYY
  • M[M]/D[D]/YY[YY] (1)
  • D[D] M[M] Y[Y...] (2, 1)
  • [-]Y[Y...] M[M] D[D] (2)
  • D[D] MMM Y[Y...] (2)
  • [-]Y[Y...] MMM D[D] (2)
  • M[M] [-]Y[Y...] (3, 5)
  • [-]Y[Y...] M[M] (3, 4, 5)
  • MMM [-]Y[Y...] (3, 5)
  • [-]Y[Y...] MMM (3, 5)
  • [-]Y[Y...] (5)

Generally, formats support trailing parts, which are disregarded.

  1. When the former of these formats overlaps with the latter, the former is preferred
  2. " ", ".", "-" and "/" are all supported as separator
  3. Any sequence of non-alphanumerical characters are supported as separator
  4. This format is only assumed if the year is bigger than the month
  5. This format doesn't support trailing parts

API

parse(String date[, String endDate]) -> Object

  • String date: Any date
  • String endDate optional: Any date; when added, the first parameter is treated as the start date of the range.

format(Object date[, String delimiter = '-']) -> String

  • Object date: Any date
  • String delimiter optional: Separate parts by delimiter

Here, Object date (CSL-JSON date format) can have the following properties:

  • date-parts: array with one or two dates, each date being an array of [year, month, day], the last two parts being optional
  • raw: raw date

更新日志

0.5.1 (2021-12-02)

Bug Fixes

  • avoid regular expressions with lookbehinds (f36f499)

0.5.0 (2021-05-19)

chore

Features

  • input: support AD/BC (70e8516)
  • input: support date ranges (230dc0b), closes #2

BREAKING CHANGES

  • support for Node 6 and 8 dropped

0.4.4 (2019-04-26)

Bug Fixes

  • input: support ISO-8601 time w/o day (10181fc)
  • output: support long years (dae2412)

0.4.3 (2019-01-04)

Bug Fixes

0.4.2 (2018-12-25)

0.4.1 (2018-08-26)

0.4.0 (2018-07-24)

0.4.0-9 (2018-07-24)