1136e7745Sopenharmony_ciHuman Time 2136e7745Sopenharmony_ci========== 3136e7745Sopenharmony_ci 4136e7745Sopenharmony_ci**Status: stable** 5136e7745Sopenharmony_ci 6136e7745Sopenharmony_ci[Documentation](https://docs.rs/humantime) | 7136e7745Sopenharmony_ci[Github](https://github.com/tailhook/humantime) | 8136e7745Sopenharmony_ci[Crate](https://crates.io/crates/humantime) 9136e7745Sopenharmony_ci 10136e7745Sopenharmony_ci 11136e7745Sopenharmony_ciFeatures: 12136e7745Sopenharmony_ci 13136e7745Sopenharmony_ci* Parses durations in free form like `15days 2min 2s` 14136e7745Sopenharmony_ci* Formats durations in similar form `2years 2min 12us` 15136e7745Sopenharmony_ci* Parses and formats timestamp in `rfc3339` format: `2018-01-01T12:53:00Z` 16136e7745Sopenharmony_ci* Parses timestamps in a weaker format: `2018-01-01 12:53:00` 17136e7745Sopenharmony_ci 18136e7745Sopenharmony_ciTimestamp parsing/formatting is super-fast because format is basically 19136e7745Sopenharmony_cifixed. 20136e7745Sopenharmony_ci 21136e7745Sopenharmony_ciHere are some micro-benchmarks: 22136e7745Sopenharmony_ci 23136e7745Sopenharmony_ci``` 24136e7745Sopenharmony_citest result: ok. 0 passed; 0 failed; 26 ignored; 0 measured; 0 filtered out 25136e7745Sopenharmony_ci 26136e7745Sopenharmony_ci Running target/release/deps/datetime_format-8facb4ac832d9770 27136e7745Sopenharmony_ci 28136e7745Sopenharmony_cirunning 2 tests 29136e7745Sopenharmony_citest rfc3339_chrono ... bench: 737 ns/iter (+/- 37) 30136e7745Sopenharmony_citest rfc3339_humantime_seconds ... bench: 73 ns/iter (+/- 2) 31136e7745Sopenharmony_ci 32136e7745Sopenharmony_citest result: ok. 0 passed; 0 failed; 0 ignored; 2 measured; 0 filtered out 33136e7745Sopenharmony_ci 34136e7745Sopenharmony_ci Running target/release/deps/datetime_parse-342628f877d7867c 35136e7745Sopenharmony_ci 36136e7745Sopenharmony_cirunning 6 tests 37136e7745Sopenharmony_citest datetime_utc_parse_millis ... bench: 228 ns/iter (+/- 11) 38136e7745Sopenharmony_citest datetime_utc_parse_nanos ... bench: 236 ns/iter (+/- 10) 39136e7745Sopenharmony_citest datetime_utc_parse_seconds ... bench: 204 ns/iter (+/- 18) 40136e7745Sopenharmony_citest rfc3339_humantime_millis ... bench: 28 ns/iter (+/- 1) 41136e7745Sopenharmony_citest rfc3339_humantime_nanos ... bench: 36 ns/iter (+/- 2) 42136e7745Sopenharmony_citest rfc3339_humantime_seconds ... bench: 24 ns/iter (+/- 1) 43136e7745Sopenharmony_ci 44136e7745Sopenharmony_citest result: ok. 0 passed; 0 failed; 0 ignored; 6 measured; 0 filtered out 45136e7745Sopenharmony_ci``` 46136e7745Sopenharmony_ci 47136e7745Sopenharmony_ciSee [humantime-serde] for serde integration (previous crate [serde-humantime] looks unmaintained). 48136e7745Sopenharmony_ci 49136e7745Sopenharmony_ci[serde-humantime]: https://docs.rs/serde-humantime/0.1.1/serde_humantime/ 50136e7745Sopenharmony_ci[humantime-serde]: https://docs.rs/humantime-serde 51136e7745Sopenharmony_ci 52136e7745Sopenharmony_ciLicense 53136e7745Sopenharmony_ci======= 54136e7745Sopenharmony_ci 55136e7745Sopenharmony_ciLicensed under either of 56136e7745Sopenharmony_ci 57136e7745Sopenharmony_ci* Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) 58136e7745Sopenharmony_ci* MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT) 59136e7745Sopenharmony_ci 60136e7745Sopenharmony_ciat your option. 61136e7745Sopenharmony_ci 62136e7745Sopenharmony_ciContribution 63136e7745Sopenharmony_ci------------ 64136e7745Sopenharmony_ci 65136e7745Sopenharmony_ciUnless you explicitly state otherwise, any contribution intentionally 66136e7745Sopenharmony_cisubmitted for inclusion in the work by you, as defined in the Apache-2.0 67136e7745Sopenharmony_cilicense, shall be dual licensed as above, without any additional terms or 68136e7745Sopenharmony_ciconditions. 69