Miss any of our Open RFC calls?Watch the recordings here! »

japanese-date

1.8.1 • Public • Published

japanese-date

Build Status

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

Installation

npm install japanese-date

Usage

Node.js v6以上で動きます。
babelを通せば多分フロントエンドでも動きます。

const jpdate = require('japanese-date');

api

match

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

const match = require('japanese-date').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
const match = require('japanese-date').getDate('来年の昨日の10秒後');
[ 2017-11-23T15:18:48.514Z ]

sample

const jpdate = require('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 ]

入力パターン例

const jpdate = require('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

Install

npm i japanese-date

DownloadsWeekly Downloads

18

Version

1.8.1

License

MIT

Unpacked Size

56.1 kB

Total Files

35

Last publish

Collaborators

  • avatar