# wanasit/chrono

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wanasit-chrono).**

5,247 stars · 377 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/wanasit/chrono
- awesome-repositories: https://awesome-repositories.com/repository/wanasit-chrono.md

## Description

Chrono is a JavaScript natural language date parser that converts unstructured text and relative date expressions into structured date objects. It functions as a multi-locale date parser and expression engine designed to resolve time expressions globally.

The library is customizable, allowing for the definition of custom regular expression patterns and refinement rules to extract business-specific date formats. It provides mechanisms to resolve relative terms like tomorrow or next Friday based on a specific reference date.

The system covers international date formatting across various regional locales and provides timezone offset mapping to associate abbreviations with specific offsets. It includes capabilities for natural language extraction and relative date resolution.

## Tags

### Development Tools & Productivity

- [Date String Parsers](https://awesome-repositories.com/f/development-tools-productivity/date-and-time-utilities/relative-date-formatting/date-string-parsers.md) — Converts unstructured text and relative date expressions into structured JavaScript date objects.
- [Customizable Extraction Rules](https://awesome-repositories.com/f/development-tools-productivity/date-and-time-utilities/relative-date-formatting/custom-date-time-format-patterns/customizable-extraction-rules.md) — Provides a mechanism to define custom regular expression patterns and refinement rules for business-specific date formats.
- [Multi-Locale Parsing](https://awesome-repositories.com/f/development-tools-productivity/date-and-time-utilities/relative-date-formatting/date-string-parsers/multi-locale-parsing.md) — Supports various international languages and regional date formats to resolve time expressions globally.
- [Named Date Expressions](https://awesome-repositories.com/f/development-tools-productivity/date-and-time-utilities/relative-date-formatting/date-string-parsers/named-date-expressions.md) — Resolves relative time phrases like tomorrow or next Friday based on a specific reference date.
- [Relative Date Generators](https://awesome-repositories.com/f/development-tools-productivity/date-and-time-utilities/relative-date-generators.md) — Determines the exact date of relative expressions like Friday or Today using a reference date. ([source](https://github.com/wanasit/chrono/blob/master/README.md))
- [Reference Date Configuration](https://awesome-repositories.com/f/development-tools-productivity/date-and-time-utilities/relative-date-generators/reference-date-configuration.md) — Enables establishing a specific reference date to accurately resolve relative expressions like tomorrow. ([source](https://github.com/wanasit/chrono/tree/v1.x.x))
- [Locale-Aware Parsing](https://awesome-repositories.com/f/development-tools-productivity/date-formatting-utilities/human-readable-formatters/date-localizations/locale-aware-parsing.md) — Applies language-specific date formats to distinguish between regional styles during parsing. ([source](https://github.com/wanasit/chrono/tree/v1.x.x))
- [Custom Date Expression Extraction](https://awesome-repositories.com/f/development-tools-productivity/date-and-time-utilities/relative-date-formatting/date-string-parsers/named-date-expressions/custom-date-expression-extraction.md) — Defines specialized regular expressions and refinement rules to capture business-specific date formats from text.

### Programming Languages & Runtimes

- [Natural Language Time Parsers](https://awesome-repositories.com/f/programming-languages-runtimes/natural-language-time-parsers.md) — Converts unstructured natural language time phrases into structured JavaScript date objects using pattern matching. ([source](https://github.com/wanasit/chrono#readme))
- [Parsing Strictness Toggles](https://awesome-repositories.com/f/programming-languages-runtimes/strict-mode-enforcement/parsing-strictness-toggles.md) — Provides a toggle to switch between a flexible natural language mode and a rigid formal date mode.

### Part of an Awesome List

- [Date and Time Processing](https://awesome-repositories.com/f/awesome-lists/devtools/date-and-time-processing.md) — Processes date and time expressions across various international languages and regional formats. ([source](https://github.com/wanasit/chrono#readme))
- [Regex Pattern Matching](https://awesome-repositories.com/f/awesome-lists/devtools/regex-and-pattern-matching/regex-pattern-matching.md) — Identifies date structures by matching unstructured text against predefined regular expression patterns.
- [Date and Number Parsing](https://awesome-repositories.com/f/awesome-lists/more/date-and-number-parsing.md) — Converts unstructured text and casual date expressions into structured JavaScript date objects.
- [Custom Date Parsers](https://awesome-repositories.com/f/awesome-lists/devtools/text-processing-and-parsing/custom-text-format-parsing/custom-date-parsers.md) — Allows defining custom regular expression patterns and refinement rules to capture business-specific date formats. ([source](https://github.com/wanasit/chrono#readme))

### Data & Databases

- [Numeric and Date Formatting](https://awesome-repositories.com/f/data-databases/date-and-time-libraries/internationalization/numeric-and-date-formatting.md) — Processes date and time expressions across multiple languages and regional locales for correct interpretation.
- [Relative Date Resolution](https://awesome-repositories.com/f/data-databases/date-and-time-libraries/reference-date-derivations/relative-date-resolution.md) — Resolves relative date expressions using a specific reference date and timezone to determine the exact moment. ([source](https://github.com/wanasit/chrono#readme))
- [Multi-Pass Extraction Pipelines](https://awesome-repositories.com/f/data-databases/multi-pass-extraction-pipelines.md) — Uses sequential extraction passes to resolve ambiguities and correct the accuracy of parsed date results.
- [Date Result Refinements](https://awesome-repositories.com/f/data-databases/query-result-fetching/result-set-refinements/date-result-refinements.md) — Implements a post-processing mechanism for correcting ambiguous date results before returning structured output. ([source](https://github.com/wanasit/chrono/tree/v1.x.x))
- [Date Parsing Strictness](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-and-indexing/search-configuration/strictness-toggles/date-parsing-strictness.md) — Offers a toggle to switch between strict formal patterns and casual natural language parsing. ([source](https://github.com/wanasit/chrono/blob/master/README.md))

### User Interface & Experience

- [Parsing Rule Sets](https://awesome-repositories.com/f/user-interface-experience/localization-settings/accept-language-locale-settings/parsing-rule-sets.md) — Implements language-specific parsing logic to handle various regional date format expectations.
