natural language time parsing
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
training
.gitignore
.npmignore
README.md
index.js
package.json
parser.js

README.md

naturaltime

A simple natural language time parser for node.js using a naive bayesian classifier.

installation

npm install naturaltime

usage

var naturaltime = require('naturaltime');

var five_minutes_ago = naturaltime('5 minutes ago');
var in_five_minutes = naturaltime('in 5 minutes');
var a_year_ago = naturaltime('1 year ago');

// specify the start date
var a_year_and_a_week_ago = naturaltime('1 week ago', a_year_ago);

// create a parser
var parser = naturaltime.createParser({language: 'en-us'});
var parsed = parser.parse('2 weeks ago');
// => {units: 'weeks', amount: 2, relative: 'past'}
var date = parser.date('2 weeks ago');

limitations

  • the string you give naturaltime must have a decimal number in it
  • number matching is naive - if there are two numbers in your string, the first one will be extracted and used, not necessarily correct. So, just give us one number
  • naturaltime is not guaranteed to do things right. If you find a case that doesn't work like you expect, open an issue or fork the repo and fix it :)

internationalization

naturaltime currently only understands US English. All that is needed for more language support is a training set for each new language. If you know a foreign language, please fork this repo and add it!