japanese-date

2.0.0 • Public • Published

japanese-date

japanese-date npm version

日本語からDateオブジェクトを取得するparser

Installation

$ npm install japanese-date

Usage

import { match, getDate } from 'japanese-date';

api

match

入力した日本語から日本語の日時表現にマッチした情報をarrayとして返します。

import { match } from 'japanese-date';
const matched = match('来年の昨日の10秒後');
[{
  index: 0, // matchした先頭のindex
  elem: '来年', // matchした文字列
  relative: 1, // typeに対する相対数値
  type: 'years' // matchした文字列の種類[ years, days, seconds ]
}, {
  index: 3, elem: '昨日', relative: -1, type: 'days'
}, {
  index: 6, elem: '10秒後', relative: 10, type: 'seconds'
}]

getDate

入力した日本語から日付のオブジェクトを配列で返します。
入力された文字の先頭から年/日付/時間を取得し、その最短の組み合わせを計算したものを返します。

// 実行日: 2016-11-24T15:22:02.451Z
import { getDate } from 'japanese-date';
const matched = getDate('来年の昨日の10秒後');
[ 2017-11-23T15:18:48.514Z ]

sample

$ npm run build
$ node sample.mjs
import * as jpdate from 'japanese-date';
const match = jpdate.match('来年の昨日');
// [ { index: 0, elem: '来年', relative: 1, type: 'years' },
//   { index: 3, elem: '昨日', relative: -1, type: 'days' } ]
const date = jpdate.getDate('来年の昨日');
console.log(date);
// [ 2017-11-23T15:18:48.514Z ]

入力パターン例

import * as jpdate from 'japanese-date';
const patterns = [
  '50分後',
  '10時半',
  'あさって',
  '2015年1月23日',
  '2015年の1月23日',
  '明日の一時間後',
  '来年のきょう',
  '来月の明日',
  '一年前の十日後',
  '2年後の21日前',
  '3年後',
  '10年後の昨日',
  '百年後の一昨日',
  '明日の10時',
  '来年の10時二十三分',
  '今週の土曜',
  '来週の水曜日',
  '先週の月曜日',
  '来月の11日',
  '来月の第三金曜日',
  '明日の正午',
  '来年の大晦日',
  '去年のクリスマスイブ',
  '一昨年の元日',
  '来年の成人の日',
  '2018年の建国記念の日',
];
for (const pattern of patterns) {
  console.log(jpdate.getDate(pattern));
}

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i japanese-date

Weekly Downloads

12

Version

2.0.0

License

MIT

Unpacked Size

79.4 kB

Total Files

53

Last publish

Collaborators

  • koh110