Commit Graph

386 Commits

Author SHA1 Message Date
Kang Seonghoon 32c3ee85e8 initial `Offset` implementations. 2014-07-29 15:41:47 +09:00
Kang Seonghoon 07d98709df fixed a bug on `DateTimeZ::add` with the negative fractional `Duration`. 2014-07-29 15:38:24 +09:00
Kang Seonghoon c7c3052892 made every type `Clone`able; added `and_*` constructors to `DateZ`.
it allows for, say, `DateZ::from_ymd(2014,1,2).and_hms(3,4,5)`.
2014-07-29 15:36:35 +09:00
Kang Seonghoon f77c8435c2 changed the internal representation of TimeZ. 2014-07-29 01:05:30 +09:00
Kang Seonghoon 4f34003e03 relicensed from MIT to dual MIT/APL2. closes #2. 2014-07-25 21:25:10 +09:00
Kang Seonghoon d5f652e656 renamed `n<foo>s` to `num_<foo>s` and changed their semantics.
`Duration` now has a `to_tuple` method which corresponds to
the original `(dur.ndays(), dur.nseconds(), dur.nnanoseconds())`.
new `num_*s()` methods in `Duration` always return the integral
number of specified units in the duration.

cf. rust-lang/rust#15934
2014-07-25 21:00:32 +09:00
Kang Seonghoon 9300f2481c renamed `chrono:📅:{MIN,MAX}` to `chrono:📅:{MINZ,MAXZ}`.
this is because we are going to add `MIN` and `MAX` for
timezone-aware `Date`s later.
2014-07-25 19:24:32 +09:00
Kang Seonghoon 4dbd00dca2 added all missing docs. 2014-07-25 18:12:51 +09:00
Kang Seonghoon 2f35fbc0fd changed the decimal point from `,` to `.`. (cf. rust-lang/rust#15934)
ISO 8601 allows for both but prefers `,`, which was a main reason
for its use in rust-chrono. but this is too alien given other usages of
decimal points in Rust, so I guess it is better to switch to `.`.
2014-07-25 17:35:49 +09:00
Kang Seonghoon 110c7de7d3 added docs to `Duration`; added `Duration::new_opt`; removed `{MIN,MAX}_{DAYS,YEAR}`.
the minimum and maximum for `DateZ` and `Duration` is now provided via
dedicated constants `{date,duration}::{MIN,MAX}`, much like built-in
`std::int` and others. they also now implements `std::num::Bounded`.

cf. rust-lang/rust#15934
2014-07-25 17:05:26 +09:00
Kang Seonghoon f7065f1625 fixed erratic `fmt` behaviors with format specifiers. (rust-lang/rust#15934) 2014-07-25 16:20:39 +09:00
Kang Seonghoon b79f6b302b major API surgeries.
- added a new example.
- reexported all public APIs in the crate root.
- made all constructors fail on the invalid arguments by default;
  `*_opt()` variants have been added for the original behavior.
- same for `DateZ::{succ,pred}`.
- fixed a missing overflow check from `TimeZ::from_hms_{milli,micro}`.
2014-07-20 02:51:57 +09:00
Kang Seonghoon dce4ec8f45 the public API now uses i32/u32 instead of int/uint for integers.
closes #1.
2014-07-20 02:00:33 +09:00
Kang Seonghoon b5a2340214 updated .travis.yml to use install.sh for Cargo; src/chrono -> src. 2014-07-15 13:20:48 +09:00
Kang Seonghoon 39d723fc6f eliminated #![feature(globs)]. 2014-07-15 12:53:40 +09:00
Kang Seonghoon 11b2a10247 added Cargo support and updated .travis.yml; language changes: ToStr -> ToString. 2014-07-13 00:12:13 +09:00
Kang Seonghoon 75d90a56fa language changes: {,Total}{Eq,Ord} -> {Partial,}{Eq,Ord}. 2014-06-01 01:36:59 +09:00
Kang Seonghoon b11484613f fixed an unintentionally overflowing Duration constructors; made tests valid on 32-bit platform. 2014-05-31 00:12:38 +09:00
Kang Seonghoon c697e1fd92 language changes: to_owned() on &str is being deprecated. 2014-05-30 02:18:27 +09:00
Kang Seonghoon 28ceb1e3db language changes: std::fmt is moved to core and now independent of std I/O. 2014-05-23 23:45:12 +09:00
Kang Seonghoon 0e7df013bf temporarily switch to the official nightly. 2014-05-23 23:43:47 +09:00
Kang Seonghoon ddab09459b language changes: ~"str" -> "str".to_owned(). 2014-05-16 17:04:21 +09:00
Kang Seonghoon f8a05676b7 language changes: BenchHarness -> Bencher. 2014-04-27 04:39:48 +09:00
Kang Seonghoon e40be225fe added (not yet well-tested) mult/div ops for Duration. 2014-04-07 03:16:33 +09:00
Kang Seonghoon f7c03b536f language changes: priv tuple-like fields are now default as well. 2014-04-04 18:09:22 +09:00
Kang Seonghoon 87c45837c8 Duration::days is now i32 (not int), related methods apply the new limits for days. 2014-04-04 00:41:40 +09:00
Kang Seonghoon b24b5b46a3 proper licensing, added README. 2014-04-02 02:14:57 +09:00
Kang Seonghoon 5516dc630d language changes: #[]; -> #![], priv fields by default; added .travis.yml. 2014-04-02 01:30:52 +09:00
Kang Seonghoon 0f6ccf0728 switched the internal Date representation from Mdf to Of; made most Date operations representation-agnostic. 2014-03-31 15:34:21 +09:00
Kang Seonghoon 75c21b0c3e fixed some issues on negative division/modulo. 2014-03-31 14:33:47 +09:00
Kang Seonghoon c9ec9ee63f DateTimeZ now supports arithmetic operations. 2014-03-30 05:13:44 +09:00
Kang Seonghoon 49737e992f DateZ now supports arithmetic operations. 2014-03-30 04:52:37 +09:00
Kang Seonghoon 877ceaeca0 TimeZ supports arithmetic operations. 2014-03-30 00:12:50 +09:00
Kang Seonghoon 27d4daad11 added Duration; DateZ::fmt now formats the out-of-range years correctly. 2014-03-29 17:20:39 +09:00
Kang Seonghoon 715a35caa6 {Date,Time,DateTime} -> {DateZ,TimeZ,DateTimeZ}, in order to distinguish them from the timezone-aware types. 2014-03-28 21:56:38 +09:00
Kang Seonghoon 646b6c27b9 initial commit. 2014-03-28 20:38:11 +09:00