{"id":13405787,"url":"https://github.com/chronotope/chrono","last_synced_at":"2025-05-12T05:12:16.963Z","repository":{"id":15476684,"uuid":"18210201","full_name":"chronotope/chrono","owner":"chronotope","description":"Date and time library for Rust","archived":false,"fork":false,"pushed_at":"2025-05-08T08:59:31.000Z","size":4718,"stargazers_count":3520,"open_issues_count":183,"forks_count":572,"subscribers_count":24,"default_branch":"main","last_synced_at":"2025-05-11T23:35:29.242Z","etag":null,"topics":["calendar","date","rust","time"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chronotope.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-03-28T11:38:39.000Z","updated_at":"2025-05-11T18:26:17.000Z","dependencies_parsed_at":"2024-02-21T14:48:42.918Z","dependency_job_id":"9d1c14ae-cb34-492a-9ef2-b8f8b892aa0c","html_url":"https://github.com/chronotope/chrono","commit_stats":{"total_commits":1503,"total_committers":227,"mean_commits":6.621145374449339,"dds":0.6626746506986028,"last_synced_commit":"8b863490d88ba098038392c8aa930012ffd0c439"},"previous_names":["lifthrasiir/rust-chrono"],"tags_count":91,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chronotope%2Fchrono","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chronotope%2Fchrono/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chronotope%2Fchrono/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chronotope%2Fchrono/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chronotope","download_url":"https://codeload.github.com/chronotope/chrono/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253650947,"owners_count":21942232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calendar","date","rust","time"],"created_at":"2024-07-30T19:02:11.641Z","updated_at":"2025-05-12T05:12:16.941Z","avatar_url":"https://github.com/chronotope.png","language":"Rust","readme":"[Chrono][docsrs]: Timezone-aware date and time handling\n========================================\n\n[![Chrono GitHub Actions][gh-image]][gh-checks]\n[![Chrono on crates.io][cratesio-image]][cratesio]\n[![Chrono on docs.rs][docsrs-image]][docsrs]\n[![Chat][discord-image]][discord]\n[![codecov.io][codecov-img]][codecov-link]\n\n[gh-image]: https://github.com/chronotope/chrono/actions/workflows/test.yml/badge.svg?branch=main\n[gh-checks]: https://github.com/chronotope/chrono/actions/workflows/test.yml?query=branch%3Amain\n[cratesio-image]: https://img.shields.io/crates/v/chrono.svg\n[cratesio]: https://crates.io/crates/chrono\n[docsrs-image]: https://docs.rs/chrono/badge.svg\n[docsrs]: https://docs.rs/chrono\n[discord-image]: https://img.shields.io/discord/976380008299917365?logo=discord\n[discord]: https://discord.gg/sXpav4PS7M\n[codecov-img]: https://img.shields.io/codecov/c/github/chronotope/chrono?logo=codecov\n[codecov-link]: https://codecov.io/gh/chronotope/chrono\n\nChrono aims to provide all functionality needed to do correct operations on dates and times in the\n[proleptic Gregorian calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar):\n\n* The [`DateTime`](https://docs.rs/chrono/latest/chrono/struct.DateTime.html) type is timezone-aware\n  by default, with separate timezone-naive types.\n* Operations that may produce an invalid or ambiguous date and time return `Option` or\n  [`MappedLocalTime`](https://docs.rs/chrono/latest/chrono/offset/enum.MappedLocalTime.html).\n* Configurable parsing and formatting with an `strftime` inspired date and time formatting syntax.\n* The [`Local`](https://docs.rs/chrono/latest/chrono/offset/struct.Local.html) timezone works with\n  the current timezone of the OS.\n* Types and operations are implemented to be reasonably efficient.\n\nTimezone data is not shipped with chrono by default to limit binary sizes. Use the companion crate\n[Chrono-TZ](https://crates.io/crates/chrono-tz) or [`tzfile`](https://crates.io/crates/tzfile) for\nfull timezone support.\n\n## Documentation\n\nSee [docs.rs](https://docs.rs/chrono/latest/chrono/) for the API reference.\n\n## Limitations\n\n* Only the proleptic Gregorian calendar (i.e. extended to support older dates) is supported.\n* Date types are limited to about +/- 262,000 years from the common epoch.\n* Time types are limited to nanosecond accuracy.\n* Leap seconds can be represented, but Chrono does not fully support them.\n  See [Leap Second Handling](https://docs.rs/chrono/latest/chrono/naive/struct.NaiveTime.html#leap-second-handling).\n\n## Crate features\n\nDefault features:\n\n* `alloc`: Enable features that depend on allocation (primarily string formatting).\n* `std`: Enables functionality that depends on the standard library. This is a superset of `alloc`\n  and adds interoperation with standard library types and traits.\n* `clock`: Enables reading the local timezone (`Local`). This is a superset of `now`.\n* `now`: Enables reading the system time (`now`).\n* `wasmbind`: Interface with the JS Date API for the `wasm32` target.\n\nOptional features:\n\n* `serde`: Enable serialization/deserialization via [serde].\n* `rkyv`: Deprecated, use the `rkyv-*` features.\n* `rkyv-16`: Enable serialization/deserialization via [rkyv], using 16-bit integers for integral `*size` types.\n* `rkyv-32`: Enable serialization/deserialization via [rkyv], using 32-bit integers for integral `*size` types.\n* `rkyv-64`: Enable serialization/deserialization via [rkyv], using 64-bit integers for integral `*size` types.\n* `rkyv-validation`: Enable rkyv validation support using `bytecheck`.\n* `arbitrary`: Construct arbitrary instances of a type with the Arbitrary crate.\n* `unstable-locales`: Enable localization. This adds various methods with a `_localized` suffix.\n  The implementation and API may change or even be removed in a patch release. Feedback welcome.\n* `oldtime`: This feature no longer has any effect; it used to offer compatibility with the `time` 0.1 crate.\n\nNote: The `rkyv{,-16,-32,-64}` features are mutually exclusive.\n\n[serde]: https://github.com/serde-rs/serde\n[rkyv]: https://github.com/rkyv/rkyv\n\n## Rust version requirements\n\nThe Minimum Supported Rust Version (MSRV) is currently **Rust 1.61.0**.\n\nThe MSRV is explicitly tested in CI. It may be bumped in minor releases, but this is not done\nlightly.\n\n## License\n\nThis project is licensed under either of\n\n* [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)\n* [MIT License](https://opensource.org/licenses/MIT)\n\nat your option.\n","funding_links":[],"categories":["Rust","Libraries","库 Libraries","tools","Date and Time","Programming","库"],"sub_categories":["Date and time","日期和时间 Date and time","Rust 🦀","日期和时间"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchronotope%2Fchrono","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchronotope%2Fchrono","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchronotope%2Fchrono/lists"}