]>
Commit | Line | Data |
---|---|---|
0531ce1d XL |
1 | Human Time |
2 | ========== | |
3 | ||
4 | **Status: stable** | |
5 | ||
6 | [Documentation](https://docs.rs/humantime) | | |
7 | [Github](https://github.com/tailhook/humantime) | | |
8 | [Crate](https://crates.io/crates/humantime) | |
9 | ||
10 | ||
11 | Features: | |
12 | ||
13 | * Parses durations in free form like `15days 2min 2s` | |
14 | * Formats durations in similar form `2years 2min 12us` | |
15 | * Parses and formats timestamp in `rfc3339` format: `2018-01-01T12:53:00Z` | |
16 | * Parses timestamps in a weaker format: `2018-01-01 12:53:00` | |
17 | ||
18 | Timestamp parsing/formatting is super-fast because format is basically | |
19 | fixed. | |
20 | ||
21 | Here are some micro-benchmarks: | |
22 | ||
23 | ``` | |
24 | test result: ok. 0 passed; 0 failed; 26 ignored; 0 measured; 0 filtered out | |
25 | ||
26 | Running target/release/deps/datetime_format-8facb4ac832d9770 | |
27 | ||
28 | running 2 tests | |
29 | test rfc3339_chrono ... bench: 737 ns/iter (+/- 37) | |
30 | test rfc3339_humantime_seconds ... bench: 73 ns/iter (+/- 2) | |
31 | ||
32 | test result: ok. 0 passed; 0 failed; 0 ignored; 2 measured; 0 filtered out | |
33 | ||
34 | Running target/release/deps/datetime_parse-342628f877d7867c | |
35 | ||
36 | running 6 tests | |
37 | test datetime_utc_parse_millis ... bench: 228 ns/iter (+/- 11) | |
38 | test datetime_utc_parse_nanos ... bench: 236 ns/iter (+/- 10) | |
39 | test datetime_utc_parse_seconds ... bench: 204 ns/iter (+/- 18) | |
40 | test rfc3339_humantime_millis ... bench: 28 ns/iter (+/- 1) | |
41 | test rfc3339_humantime_nanos ... bench: 36 ns/iter (+/- 2) | |
42 | test rfc3339_humantime_seconds ... bench: 24 ns/iter (+/- 1) | |
43 | ||
44 | test result: ok. 0 passed; 0 failed; 0 ignored; 6 measured; 0 filtered out | |
45 | ``` | |
46 | ||
e74abb32 | 47 | See [humantime-serde] for serde integration (previous crate [serde-humantime] looks unmaintained). |
0531ce1d XL |
48 | |
49 | [serde-humantime]: https://docs.rs/serde-humantime/0.1.1/serde_humantime/ | |
e74abb32 | 50 | [humantime-serde]: https://docs.rs/humantime-serde |
0531ce1d XL |
51 | |
52 | License | |
53 | ======= | |
54 | ||
55 | Licensed under either of | |
56 | ||
57 | * Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) | |
58 | * MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT) | |
59 | ||
60 | at your option. | |
61 | ||
62 | Contribution | |
63 | ------------ | |
64 | ||
65 | Unless you explicitly state otherwise, any contribution intentionally | |
66 | submitted for inclusion in the work by you, as defined in the Apache-2.0 | |
67 | license, shall be dual licensed as above, without any additional terms or | |
68 | conditions. |