diff options
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/ja/JPCasualDateParser.js')
-rw-r--r-- | bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/ja/JPCasualDateParser.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/ja/JPCasualDateParser.js b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/ja/JPCasualDateParser.js new file mode 100644 index 00000000..2574c0f3 --- /dev/null +++ b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/ja/JPCasualDateParser.js @@ -0,0 +1,60 @@ +/* + + +*/ + +var moment = require('moment'); +var Parser = require('../parser').Parser; +var ParsedResult = require('../../result').ParsedResult; + +var PATTERN = /今日|当日|昨日|明日|今夜|今夕|今晩|今朝/i; + +exports.Parser = function JPCasualDateParser(){ + + Parser.apply(this, arguments); + + this.pattern = function() { return PATTERN; } + + this.extract = function(text, ref, match, opt){ + + var index = match.index; + var text = match[0]; + var result = new ParsedResult({ + index: index, + text: text, + ref: ref, + }); + + var refMoment = moment(ref); + var startMoment = refMoment.clone(); + + if(text == '今夜' || text == '今夕' || text == '今晩'){ + // Normally means this coming midnight + result.start.imply('hour', 22); + result.start.imply('meridiem', 1); + + } else if(text == '明日'){ + + // Check not "Tomorrow" on late night + if(refMoment.hour() > 4) { + startMoment.add(1, 'day'); + } + + } else if(text == '昨日') { + + startMoment.add(-1, 'day'); + + } else if (text.match("今朝")) { + + result.start.imply('hour', 6); + result.start.imply('meridiem', 0); + } + + result.start.assign('day', startMoment.date()) + result.start.assign('month', startMoment.month() + 1) + result.start.assign('year', startMoment.year()) + result.tags['JPCasualDateParser'] = true; + return result; + } +} + |