howardhinnant/date

A date and time library based on the C++11/14/17 <chrono> header

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 20th, 2026
Created on July 18th, 2015
Open Issues & Pull Requests: 179 (+0)
GitHub issues: Enabled
Number of forks: 738
Total Stargazers: 3,434 (+0)
Total Subscribers: 121 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 27
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,186 days
Stale 30+ days: 27
Stale 90+ days: 24

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • cmake (5)
  • bug (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Date is a C++ library that extends the standard chrono header with calendar and timezone functionality.

The library solves the problem of working with dates, times, and timezones in C++ by building on the chrono standard library. It provides field types like year_month_day that represent calendar components as structs, making it easy to convert between human-readable calendar representations and chrono time_points. The timezone component parses and provides access to the complete IANA timezone database, including leap second information, allowing developers to perform timezone-aware calculations without external dependencies.

The project consists of multiple modular libraries. The core date.h is header-only and adds duration and time_point types along with calendar field types. The tz.h library requires compilation of a single source file and provides full timezone support. Additional header-only libraries implement ISO week dates, Julian calendar, and Islamic calendar systems, all interoperable with the core date types. Developers should choose this library if they need robust calendar arithmetic, timezone conversions, or support for alternative calendar systems within a C++ application. The header-only nature of most components makes integration straightforward for projects that do not require timezone support.

Development on the project is sparse, with infrequent commits and minimal recent activity. The maintainer does not actively support or maintain CMake and vcpkg build system integrations, explicitly stating these cause more problems than they solve for the project's scope. Test coverage exists but shows known failures on most platforms except macOS, and even on macOS when using C++11 rather than later standards. The project includes comprehensive documentation and educational materials in the form of videos and presentation slides but receives limited ongoing maintenance or community engagement.