Packages to work with natural language time expressions.
| Package | What it does? | Version |
|---|---|---|
| @timelang/parse | Parse natural language time expressions into dates, times, and ranges | |
| @timelang/suggest | Autocomplete suggestions for time expressions |
npm install @timelang/parseimport { parse, parseDate, parseDuration, parseSpan, scan } from '@timelang/parse';
parseDate('next friday at 3pm'); // Date
parseDuration('2h 30m'); // 9000000 (milliseconds)
parseSpan('jan 5 to jan 20'); // { start: Date, end: Date, duration: number }
parse('Team Sync - next monday'); // { type: 'date', date, title: 'Team Sync' }
parse('mid Q1'); // { type: 'fuzzy', start, end, approximate: true }
scan("let's meet next monday at 530pm");
// [{ result: {...}, match: 'next monday at 530pm', start: 11, end: 31 }]For full API reference and examples, visit timelang.dev.
npm install @timelang/suggestimport { suggest, suggestTime } from '@timelang/suggest';
suggest('tom');
// [
// { label: 'tomorrow at 9am', date: Date },
// { label: 'tomorrow at 2pm', date: Date },
// ...
// ]
suggestTime('9');
// [
// { label: '09:00 am', hour: 9, minute: 0, period: 'am' },
// { label: '09:00 pm', hour: 9, minute: 0, period: 'pm' },
// ...
// ]For full API reference and examples, visit timelang.dev/suggest.
MIT