awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
formkit avatar

formkit/tempo

0
View on GitHub↗
2,581 stars·37 forks·TypeScript·mit·20 viewstempo.formkit.com↗

Tempo

Tempo is a JavaScript date manipulation library that provides a suite of tools for parsing, formatting, and calculating dates and times. It serves as a date arithmetic engine, a locale-aware formatter, and a timezone offset manager for native JavaScript date objects.

The library includes a dedicated ISO 8601 date parser for validating and converting standardized strings into date objects. It handles geographic normalization through IANA timezone offset management and utilizes the native Internationalization API for region-specific date formatting.

The project covers a broad range of date and time capabilities, including date difference calculations, the manipulation of specific time units, and the normalization of time boundaries. It also provides utilities for comparing dates, setting specific date components, and generating localized date ranges.

Features

  • Date and Time Libraries - Provides a comprehensive set of utilities for parsing, validating, manipulating, and formatting date and time values.
  • Date Manipulation Utilities - Provides tools to add, subtract, or set specific time units like years and hours with configurable overflow.
  • Immutable Date Libraries - Ensures predictable state changes by returning new date objects after every operation to prevent side effects.
  • Date Arithmetic Logic - Provides a set of functions for calculating differences and adjusting time values with configurable overflow behavior.
  • Date String Parsers - Creates date objects from ISO 8601 strings while applying specific IANA timezone offsets.
  • Date Validation Utilities - Converts date strings and ISO 8601 formats into date objects while verifying their structural correctness.
  • Date Formatting Utilities - Converts date objects into human-readable strings using localized styles or custom formatting tokens.
  • Date String Formatters - Transforms date objects into strings using locale-aware patterns and timezone offsets.
  • Localized Formatters - Transforms dates into human-readable strings based on specific language and regional settings using the Intl API.
  • Date Difference Calculators - Finds the duration between two dates as a structured object or a specific unit of time.
  • ISO 8601 Standards - Provides a compatibility layer to validate and transform date strings according to the ISO 8601 international standard.
  • ISO 8601 Parsers - Provides a dedicated utility for validating and converting ISO 8601 strings into date objects with timezone handling.
  • Timezone Management - Implements logic to map IANA timezone identifiers to numeric offsets for geographic date normalization.
  • Internationalization API Integrations - Utilizes the browser native Internationalization API for region-specific date formatting and locale-aware name generation.
  • Internationalized Date Formatting - Transforms date objects into human-readable strings using locale-aware patterns and language settings.
  • Date Component Extractors - Retrieves granular parts of a date value, such as the day of the year or locale-specific month names.
  • Component Mutators - Allows updating specific parts of a date, such as the hour, minute, or day, to a precise value.
  • Temporal Boundary Normalization - Provides capabilities to set a date to the start or end of a specific period like a day, month, or year.
  • Token-Based Parsers - Matches custom date format strings against regex patterns to extract and transform date components.
  • Date Comparison Utilities - Checks if one date is before, after, or equal to another, or if they share specific time components.
  • Temporal Boundary Normalization - Provides utilities to snap date objects to the start or end of days, hours, minutes, months, weeks, or years.
  • Date Utilities - Tree-shakable library for native Date objects.

Star history

Star history chart for formkit/tempoStar history chart for formkit/tempo

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Tempo

These projects share indexed features with Tempo. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • python-pendulum/pendulumpython-pendulum avatar

    python-pendulum/pendulum

    6,668View on GitHub↗

    Pendulum is a Python datetime library used for creating, manipulating, and formatting date and time objects with native timezone awareness. It extends the native Python datetime class to maintain compatibility while providing a specialized engine for date arithmetic and timezone management. The library features a dedicated ISO 8601 and RFC 3339 parser that converts standardized strings into date objects without requiring manual format strings. It also includes a relative time generator for producing natural language descriptions of time differences and a timezone management tool that automati

    Python
    View on GitHub↗6,668
  • sdispater/pendulumsdispater avatar

    sdispater/pendulum

    6,668View on GitHub↗

    Pendulum is a Python date and time library that provides a simplified interface for date arithmetic, ISO parsing, localization, and timezone management. It serves as a replacement for the standard library datetime module, extending existing classes to maintain compatibility while offering a more intuitive management interface. The library distinguishes itself through a natural language date formatter that translates time differences into localized strings and a dedicated ISO 8601 date parser. It also includes tools for time-dependent logic testing, allowing the system clock to be mocked or fi

    Python
    View on GitHub↗6,668
  • moment/momentmoment avatar

    moment/moment

    47,965View on GitHub↗

    Moment is a JavaScript date manipulation library used for parsing, validating, manipulating, and formatting dates and times. It provides a system for converting date strings into structured objects using the ISO 8601 standard or custom tokens. The library includes a timezone management tool for handling UTC offsets and geographic timezones, ensuring accurate date calculations across different regions. It features an internationalized date formatter and a relative time calculator to render timestamps as human-friendly durations adapted to various cultural locales and languages. The project co

    JavaScript
    View on GitHub↗47,965
  • malcommac/swiftdatemalcommac avatar

    malcommac/SwiftDate

    7,703View on GitHub↗

    SwiftDate is a date manipulation library for the Swift programming language. It provides a toolkit for parsing, validating, and formatting dates, times, and timezones. The library includes a relative time generator for producing date offsets based on reference points such as tomorrow or next week, and a localized date formatter for transforming date objects into human-readable strings across multiple languages and locales. It also features an ISO8601 date parser to convert standardized date strings from SQL, HTTP, and ISO8601 formats into structured objects, alongside tools for managing timez

    Swift
    View on GitHub↗7,703
Compare all 30 related projects→

Frequently asked questions

What does formkit/tempo do?

Tempo is a JavaScript date manipulation library that provides a suite of tools for parsing, formatting, and calculating dates and times. It serves as a date arithmetic engine, a locale-aware formatter, and a timezone offset manager for native JavaScript date objects.

What are the main features of formkit/tempo?

The main features of formkit/tempo are: Date and Time Libraries, Date Manipulation Utilities, Immutable Date Libraries, Date Arithmetic Logic, Date String Parsers, Date Validation Utilities, Date Formatting Utilities, Date String Formatters.

Which projects share features with formkit/tempo?

Projects with overlapping indexed features include: python-pendulum/pendulum — Pendulum is a Python datetime library used for creating, manipulating, and formatting date and time objects with… sdispater/pendulum — Pendulum is a Python date and time library that provides a simplified interface for date arithmetic, ISO parsing,… moment/moment — Moment is a JavaScript date manipulation library used for parsing, validating, manipulating, and formatting dates and… malcommac/swiftdate — SwiftDate is a date manipulation library for the Swift programming language. It provides a toolkit for parsing,… arrow-py/arrow — Arrow is a Python date and time library that provides a simplified interface for creating and manipulating timestamps… spencermountain/spacetime — Spacetime is a JavaScript timezone library and date manipulation framework designed for parsing, formatting, and…