Files
adler32
aho_corasick
alloc_no_stdlib
alloc_stdlib
ansi_term
assert_matches
atty
backtrace
backtrace_sys
bincode
binjs
binjs_convert_from_json
binjs_decode
binjs_dump
binjs_encode
binjs_es6
binjs_generate_prediction_tables
binjs_generic
binjs_io
binjs_meta
binjs_shared
bitflags
brotli
brotli_decompressor
byteorder
c2_chacha
cfg_if
clap
crc32fast
derive_more
downcast_rs
either
env_logger
failure
flate2
getrandom
humantime
inflector
cases
camelcase
case
classcase
kebabcase
pascalcase
screamingsnakecase
sentencecase
snakecase
tablecase
titlecase
traincase
numbers
deordinalize
ordinalize
suffix
foreignkey
itertools
itoa
lazy_static
libc
log
lzw
memchr
miniz_oxide
nom
ppv_lite86
proc_macro2
quick_error
quote
rand
rand_chacha
rand_core
rand_pcg
range_encoding
regex
regex_syntax
rustc_demangle
ryu
serde
serde_derive
serde_json
smallvec
strsim
syn
termcolor
textwrap
thread_local
unicode_width
unicode_xid
vec_map
weedle
which
xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! Human-friendly time parser and formatter
//!
//! Features:
//!
//! * Parses durations in free form like `15days 2min 2s`
//! * Formats durations in similar form `2years 2min 12us`
//! * Parses and formats timestamp in `rfc3339` format: `2018-01-01T12:53:00Z`
//! * Parses timestamps in a weaker format: `2018-01-01 12:53:00`
//!
//! Timestamp parsing/formatting is super-fast because format is basically
//! fixed.
//!
//! See [serde-humantime] for serde integration.
//!
//! [serde-humantime]: https://docs.rs/serde-humantime/0.1.1/serde_humantime/
#![warn(missing_debug_implementations)]
#![warn(missing_docs)]

#[macro_use] extern crate quick_error;

mod duration;
mod wrapper;
mod date;

pub use duration::{parse_duration, Error as DurationError};
pub use duration::{format_duration, FormattedDuration};
pub use wrapper::{Duration, Timestamp};
pub use date::{parse_rfc3339, parse_rfc3339_weak, Error as TimestampError};
pub use date::{
    format_rfc3339, format_rfc3339_micros, format_rfc3339_millis, format_rfc3339_nanos,
    format_rfc3339_seconds,
};
pub use date::{Rfc3339Timestamp};