Alex Sayers
892bbf3f3a
Add NaiveDate::from_ymwd_opt, implement from_ymwd in terms of it
2018-08-13 11:29:02 +09:00
Alex Sayers
4ffd411654
Add NaiveDate::from_ymwd
...
This contructor allows you to make a NaiveDate by specifying eg. "the
2nd Friday of March 2017". It contains a couple of panics, but these
are consistent with the behaviour of the other NaiveDate constructors.
2018-08-13 11:29:02 +09:00
Brandon W Maister
369ce72987
Merge pull request #252 from quodlibetor/negative-timestamps
...
Add doctests around negative timestamps
2018-07-28 17:07:04 -04:00
Brandon W Maister
55538b5b9c
Merge pull request #268 from quodlibetor/TimeZone-timestamp-millis
...
Add `timestamp_millis` and `timestamp_millis_opt`
2018-07-28 16:41:34 -04:00
Brandon W Maister
a58a833324
Add doctests for negative timestamps
2018-07-28 16:40:26 -04:00
Brandon W Maister
5481dec823
Don't warn on an unknown allowed clippy lint
2018-07-28 15:25:37 -04:00
Brandon W Maister
19955ac992
Add `timestamp_millis` and `timestamp_millis_opt`
...
Fixes #264
2018-07-28 15:18:32 -04:00
Brandon W Maister
512f21d481
Merge pull request #258 from novacrazy/extra-serde
...
Extra serde modules for various timestamp formats.
2018-07-28 14:45:42 -04:00
storyfeet
611abbd7ae
trivially copy pass by ref
2018-07-18 21:38:37 -04:00
storyfeet
b9b09b8e11
Tried to make it easier to find specifiers
2018-07-18 21:38:37 -04:00
novacrazy
a88ee8f719
Fix doc
2018-07-18 04:45:11 -05:00
novacrazy
4a66b17bd0
Add docs/tests and fix math
2018-07-04 14:12:36 -05:00
novacrazy
5df91c3985
Add WIP millisecond serde implementation
2018-07-04 10:38:39 -05:00
寧靜
a99dee655e
Update fixed.rs
2018-06-24 05:45:24 +08:00
Brandon W Maister
df4912a33f
Test formatting with more precise nanoseconds
...
There is some specific behavior around writing out truncated nanos that we want
to be sure to preserve.
2018-06-13 23:00:31 -04:00
Evan Schwartz
11cfb3696e
Move NanosecondXNoDot to internal enum
...
To avoid adding new variants to the public enum (see https://github.com/chronotope/chrono/pull/251#issuecomment-396692148 )
2018-06-12 14:53:49 -04:00
Evan Schwartz
937189ee52
Take exactly num digits specified for nanosecond fixed
...
Error if it's too long or short, and don't take any more digits
2018-06-12 10:51:38 -04:00
Evan Schwartz
8a2b09962a
Only parse up to max number of digits for nanoseconds w/o dots
2018-06-12 10:51:38 -04:00
Evan Schwartz
074e92fc63
Document millisecond format without the dot
2018-06-12 10:51:36 -04:00
Evan Schwartz
f9d3094d4e
Test nanosecond parsing without the dot
2018-06-12 10:51:07 -04:00
Evan Schwartz
1de3658433
Add nanoseconds without dots
2018-06-12 10:51:07 -04:00
Brandon W Maister
c3207a5811
Use the `InternalFixed` struct for TimezoneOffsetPermissive
...
It is the backcompat scheme that we have. In the 5.x timeline we will add the
more-standard and significantly-more-pleasant-to-expand `#[doc(hidden)]
__DoNotMatchAgainstMe` trick.
2018-06-07 21:46:57 -04:00
Brandon W Maister
9991c2b0ed
Rust 1.13 does not support elided lifetimes in const.
2018-06-07 21:46:57 -04:00
Brandon W Maister
95f6a2be1c
Add %#z as "Permissive" timezone parsing
...
This allows you to parse a timezone that:
* Is either `Z` or an actual offset
* Contains no minutes, just the hour
Fixes #219
2018-06-07 21:46:57 -04:00
Thomas Bytheway
90c75885d0
Rename ts_nano_seconds to ts_nanoseconds
2018-05-24 13:44:12 +01:00
Thomas Bytheway
cdb6170f02
Add serde functions for nanosecond timestamps
2018-05-18 11:05:03 +01:00
Thomas Bytheway
cc613976a4
Add functions to present DateTime in nanoseconds since epoch
2018-05-18 11:04:39 +01:00
Brandon W Maister
ebd16f49d2
Merge pull request #237 from tobz1000/datetime-diff-sub
...
impl Sub<T> for T for Date/Time types
2018-04-03 19:30:15 -07:00
Toby Dimmick
19466e6ff4
Move `SubAssign<OldDuration> next to `Sub<OldDuration`
2018-04-03 14:16:37 +01:00
Toby Dimmick
d9a50cb767
Documentation
2018-04-03 14:14:52 +01:00
Brandon W Maister
a9618c8e9d
Merge branch 'master' into feature_clock
2018-04-03 05:54:17 -07:00
Brandon W Maister
a060684abe
Merge pull request #174 from quodlibetor/deprecated-warnings-for-rustc_serialize
...
Deprecated warnings in cargo output for rustc-serialize feature
2018-04-03 05:52:58 -07:00
Toby Dimmick
d5d5fd92b7
impl Sub<T> for <T> for Date/Time types
2018-04-03 13:42:03 +01:00
Jethro Beekman
5e68c60bb2
Add clock feature
2018-04-02 08:35:27 -07:00
Philipp Hansch
3fb0b614e8
Revert "Allow a false-positive clippy lint"
...
The issue has been fixed with the latest clippy release and we don't
have to `allow` anymore.
This reverts commit 7f990144cc
.
2018-04-01 12:40:14 +02:00
Jethro Beekman
6c398ae6f4
Remove dependencies from oldtime::Duration on rest of time crate
2018-03-30 16:08:45 -07:00
Jethro Beekman
5e730ebe4d
Vendor oldtime::duration module from time crate
...
https://github.com/rust-lang-deprecated/time/blob/master/src/duration.rs
2018-03-30 16:08:45 -07:00
Brandon W Maister
39ca2e622c
Deprecated warnings in cargo output for rustc-serialize feature
...
Unfortunately due to rust-lang/rust#39935 placing the annotation on the `impl`s
of `Encodable`/`Decodable` for the various items have no effect whatsoever, so
we need to place it on some type that chrono actually uses internally. The only
*type* that I can find that only exists for rustc-serialize only is the
`TsSeconds` struct.
So, marking TsSeconds deprecated causes Chrono's internal uses of `TsSeconds`
to emit deprecation warnings, both in our builds and for packages that specify
Chrono as a dependency with the `rustc-serialize` feature active. This means
that the current commit will cause a `warning: use of deprecated item:
RustcSerialize will be removed before chrono 1.0, use Serde instead` to appear
in `cargo build` output.
Unfortunately I don't think that it's possible for downstream crates to disable
the warning the warning in any way other than actually switching to Serde or
using an older chrono. That's the reason for all the `#[allow(deprecated)]`
through the code, it means that the warning appears almost exactly once,
instead of dozens of times.
2018-03-29 14:32:39 -04:00
Brandon W Maister
1a983261e3
Ensure that `SecondsFormat` can be expanded semver-safely
2018-03-26 22:10:21 -04:00
Brandon W Maister
c9609ea6c9
Merge pull request #217 from dekellum/round
...
Add SubsecRound trait
2018-03-05 23:23:47 -05:00
David Kellum
449d7277b9
Rename SubSecondRound to SubsecRound
...
Per review request.
2018-03-05 12:57:26 -08:00
David Kellum
08b7e0bc6b
Fix prelude SubSecondRound
2018-03-05 10:40:50 -08:00
David Kellum
cb3a73aa86
Rename to (round/trunc)_subsecs; add doc tests
2018-03-05 10:38:48 -08:00
David Kellum
74ec7aa5b2
Improve up/down variable naming
2018-03-04 18:27:36 -08:00
Brandon W Maister
2a825edd5c
Merge pull request #221 from cuviper/num-no_std
...
Use no_std-compatible num dependencies
2018-03-04 18:21:50 -05:00
Brandon W Maister
7f990144cc
Allow a false-positive clippy lint
...
rust-lang-nursery/rust-clippy#2475 , we'll revert this commit when that's
fixed.
2018-03-04 09:51:41 -05:00
Brandon W Maister
2ee549f84f
Allow a clippy lint that depends on rust 1.17
2018-03-04 09:18:02 -05:00
Josh Stone
8f90f405d5
Use no_std-compatible num dependencies
...
Rather than the `num` meta-crate, use `num-integer` and `num-traits`
without default features to make them `#[no_std]`. `num-iter` is
just a dev-dependency now for a few test cases.
The only public change is the `impl FromPrimitive for Weekday`, but this
is still the same exact trait that `num` re-exports, so this is not a
breaking change.
2018-02-23 00:07:16 -08:00
David Kellum
b5acb0ed95
Add SubSecondRound extension trait with impl for Timelike
2018-01-30 12:12:16 -08:00
Brandon W Maister
ff962d452c
Merge pull request #205 from dekellum/rfc3339pz
...
Add DateTime to_rfc3339p(z) methods, tests
2018-01-29 22:16:53 -05:00