Chrono

Date and time library for Rust
Alternatives To Chrono
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Dayjs43,2175,3716,30920 hours ago116August 12, 2022737mitJavaScript
⏰ Day.js 2kB immutable date-time library alternative to Moment.js with the same modern API
Date Fns31,61568,2808,1072 days ago179September 13, 2022578mitTypeScript
⏳ Modern JavaScript date utility library ⌛️
Awesome Falsehood20,728
12 days ago1cc0-1.0
😱 Falsehoods Programmers Believe in
Luxon13,9151,9361,90012 days ago130August 29, 2022126mitJavaScript
⏱ A library for working with dates and times in JS
Arrow8,3023,711888a month ago63January 27, 202297apache-2.0Python
🏹 Better dates & times for Python
Pickadate.js7,707
3 years ago285mitJavaScript
The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
Datetools7,089
6632 years ago13September 28, 2017118mitObjective-C
Dates and times made easy in iOS
Pendulum5,44854031019 days ago52July 24, 2020245mitPython
Python datetimes made easy
Joda Time4,90331,2695,49913 days ago51August 25, 202243apache-2.0Java
Joda-Time is the widely used replacement for the Java date and time classes prior to Java SE 8.
Maya3,362149598 months ago24January 06, 201919mitPython
Datetimes for Humans™
Alternatives To Chrono
Select To Compare


Alternative Project Comparisons
Readme

Chrono: Timezone-aware date and time handling

Chrono GitHub Actions Chrono on crates.io Chrono on docs.rs Join the chat at https://gitter.im/chrono-rs/chrono

Chrono aims to provide all functionality needed to do correct operations on dates and times in the proleptic Gregorian calendar:

  • The DateTime type is timezone-aware by default, with separate timezone-naive types.
  • Operations that may produce an invalid or ambiguous date and time return Option or LocalResult.
  • Configurable parsing and formatting with an strftime inspired date and time formatting syntax.
  • The Local timezone works with the current timezone of the OS.
  • Types and operations are implemented to be reasonably efficient.

Timezone data is not shipped with chrono by default to limit binary sizes. Use the companion crate Chrono-TZ or tzfile for full timezone support.

Documentation

See docs.rs for the API reference.

Limitations

  • Only the proleptic Gregorian calendar (i.e. extended to support older dates) is supported.
  • Date types are limited to about +/- 262,000 years from the common epoch.
  • Time types are limited to nanosecond accuracy.
  • Leap seconds can be represented, but Chrono does not fully support them. See Leap Second Handling.

Crate features

Default features:

  • alloc: Enable features that depend on allocation (primarily string formatting)
  • std: Enables functionality that depends on the standard library. This is a superset of alloc and adds interoperation with standard library types and traits.
  • clock: Enables reading the system time (now) and local timezone (Local).
  • wasmbind: Interface with the JS Date API for the wasm32 target.

Optional features:

  • serde: Enable serialization/deserialization via serde.
  • rkyv: Enable serialization/deserialization via rkyv.
  • rustc-serialize: Enable serialization/deserialization via rustc-serialize (deprecated).
  • arbitrary: construct arbitrary instances of a type with the Arbitrary crate.
  • unstable-locales: Enable localization. This adds various methods with a _localized suffix. The implementation and API may change or even be removed in a patch release. Feedback welcome.

Rust version requirements

The Minimum Supported Rust Version (MSRV) is currently Rust 1.56.0.

The MSRV is explicitly tested in CI. It may be bumped in minor releases, but this is not done lightly.

License

This project is licensed under either of

at your option.

Popular Time Projects
Popular Date Projects
Popular Libraries Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Rust
Date
Time
Calendar
Timezone