Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into jp-kotoshi-honnen
Browse files Browse the repository at this point in the history
  • Loading branch information
gecko655 committed Jul 28, 2019
2 parents 1e0da4e + af907f5 commit 4712d4d
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 7 deletions.
16 changes: 11 additions & 5 deletions src/parsers/ja/JPStandardParser.js
Expand Up @@ -9,8 +9,8 @@ var Parser = require('../parser').Parser;
var ParsedResult = require('../../result').ParsedResult;

var util = require('../../utils/JP');
var PATTERN = /(?:(同|今|本|((昭和|平成)?([0-90-9]{2,4})))年\s*)?([0-90-9]{1,2})月\s*([0-90-9]{1,2})日/i;

var PATTERN = /(?:(同|今|本|((昭和|平成|令和)?([0-90-9]{2,4}|元)))年\s*)?([0-90-9]{1,2})月\s*([0-90-9]{1,2})日/i;
var YEAR_GROUP = 2;
var ERA_GROUP = 3;
var YEAR_NUMBER_GROUP = 4;
Expand Down Expand Up @@ -67,10 +67,16 @@ exports.Parser = function JPStandardParser(){

} else {
var year = match[YEAR_NUMBER_GROUP];
year = util.toHankaku(year);
year = parseInt(year);
if (year == '元') {
year = 1;
} else {
year = util.toHankaku(year);
year = parseInt(year);
}

if (match[ERA_GROUP] == '平成') {
if (match[ERA_GROUP] == '令和') {
year += 2018;
} else if (match[ERA_GROUP] == '平成') {
year += 1988;
} else if (match[ERA_GROUP] == '昭和') {
year += 1925;
Expand Down
21 changes: 19 additions & 2 deletions test/ja/ja_standard.test.js
Expand Up @@ -99,6 +99,25 @@ test("Test - Single Expression", function() {
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}


var text = "主な株主(令和元年5月1日)";
var results = chrono.parse(text, new Date(2012,8-1,10));
expect(results.length).toBe(1)

var result = results[0];
if (result) {
expect(result.index).toBe(5)
expect(result.text).toBe('令和元年5月1日')

expect(result.start).not.toBeNull()
expect(result.start.get('year')).toBe(2019)
expect(result.start.get('month')).toBe(5)
expect(result.start.get('day')).toBe(1)

var resultDate = result.start.date();
var expectDate = new Date(2019, 5-1, 1, 12);
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}
var text = "主な株主(同年7月27日)";
var results = chrono.parse(text, new Date(2012,8-1,10));
expect(results.length).toBe(1)
Expand Down Expand Up @@ -155,8 +174,6 @@ test("Test - Single Expression", function() {
var expectDate = new Date(2012, 7-1, 27, 12);
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}


});


Expand Down

0 comments on commit 4712d4d

Please sign in to comment.