Commit Graph

315 Commits

Author SHA1 Message Date
Kang Seonghoon 94df51861f 0.1.8: language changes.
- #[deriving] is now #[derive].
- prelude no longer imports many items by default.
- [T, ..n] is no longer valid.
- a temporary fix for #[derive(Hash)] failing out.
- the formatting error uses a dedicated type instead of `IoError`.
2015-01-04 15:14:57 +09:00
Kang Seonghoon 29428d0adf slight cleanup for chrono::format. 2015-01-04 15:11:18 +09:00
Kang Seonghoon cde432ed8e bumped copyright years. 2015-01-04 15:08:25 +09:00
Kang Seonghoon 50d73002d8 language changes: precedence change. 2015-01-04 15:05:56 +09:00
Ken Tossell 3303127415 Fixed build against rust nightly.
Added 'use' statements for cmd::Ordering, ops::{Add, Sub}, borrow::IntoCow, num::ToPrimitive

Changed deriving -> derive. Changed [x, ..N] -> [x; N].

Made format(f: &fmt::Formatter) return fmt::Result instead of
IoResult. Had to raise generic errors in a couple of cases where
IoResult's fields were being set (but these errors were being thrown
out anyway).

Temporarily set #![feature(old_orphan_check)] because

Thanks for @eddyb for explaining the format() situation.
2015-01-03 17:45:07 -05:00
Kang Seonghoon e53a8b0b01 oops, updated README.md. 2015-01-02 13:48:58 +09:00
Ken Tossell 221e58eca6 Removed reflexive type specifier from Date<Off>'s Eq implementation 2015-01-01 17:18:37 -05:00
Kang Seonghoon bf4ded9f07 0.1.6: fixed tests per language changes and .travis.yml.
This also switches to the crates.io dependency unconditionally.
2014-12-25 16:47:10 +09:00
Kang Seonghoon e982cd1851 0.1.5: language changes.
- Add and Sub requires a value instead of a reference.
- Tuple indexing is now ungated.

Fixes #15.
2014-12-17 10:29:48 +09:00
Kang Seonghoon 389e58f727 added BIG limitations section to the README. 2014-12-13 22:16:38 +09:00
Kang Seonghoon 407ad383c5 fixed an edge case with date-changing offsets. 2014-12-13 21:53:53 +09:00
klutzy 37d85ffd3b Update for upstream changes 2014-12-13 20:29:06 +09:00
Kang Seonghoon 920a681d54 better documentation, some additional APIs.
- `Date/Time - Duration` is now supported. (duh!)
- `with_offset` methods have been added.
- `LocalResult` now implements common traits.
- `LocalResult` has several methods to propagate errors.
  this makes the initialization from untrusted sources easier
  (`off.ymd_opt(y,m,d).and_hms_opt(h,n,s).single()`).
2014-11-28 23:53:22 +09:00
Kang Seonghoon 9e6576e37e language changes: MaybeOwned is deprecated, long live CowString! 2014-11-28 21:32:14 +09:00
Kang Seonghoon 86665d0a7f 0.1.2: no more `num` dependency, multidispatched addition.
- `num` dependency is gone. It was only used for floored division
  and it is not hard to copy only that portion from num.
- `Duration + Date` (or so) was blocked by rust-lang/rust#7590,
  which has been subsequently fixed.
- Removed unused `unsafe` checks.
2014-11-24 14:52:07 +09:00
Kang Seonghoon 0a04ae1aa9 0.1.1: language changes, updated documentations.
- `std::fmt::WriteError` is now `std::fmt::Error`.
- abandoned rust-ci for documentations (sorry, but it didn't work
  nowdays ;_;), we are now publishing directly to Github pages.
2014-11-21 16:18:55 +09:00
Kang Seonghoon e947b4eec6 language changes: str::shift_slice_char has been updated. 2014-11-20 13:09:16 +09:00
Kang Seonghoon ec6c874042 language changes: namespaced enums, no more std::num::{Zero,Bounded}. 2014-11-19 10:59:32 +09:00
Colin Ray fd5f8b7f34 Fix lint warning on deny(missing_doc) 2014-11-02 17:03:19 -06:00
Steve Klabnik 59892f1511 fail -> panic 2014-10-30 00:23:09 -04:00
Eunchong Yu 850e1d8654 Follow rustc master (1add4dedc 2014-10-10) 2014-10-12 00:56:49 +09:00
Kang Seonghoon d6e0c3f266 language changes: `extern crate A = "B";` -> `extern crate "B" as A;`. 2014-09-12 18:53:06 +09:00
Kang Seonghoon 10c580f664 switches to std::time::duration::Duration. 2014-08-31 14:43:26 +09:00
Kang Seonghoon 80ed400689 added missing `.offset()` methods; UTC/FixedOffset now implement Eq. 2014-08-29 18:14:08 +09:00
Kang Seonghoon 86259a120f language changes: an array size now needs to be uint. 2014-08-19 21:52:58 +09:00
Kang Seonghoon f1931ad21e added `chrono::format` module and `format` methods.
this is a saner replacement for `time::strftime`; it does not allocate
the additional memory.
2014-08-01 04:08:19 +09:00
Kang Seonghoon ed71a1037b made `Time::fmt` to use the same decimal separator as `Duration::fmt`. 2014-07-31 11:03:32 +09:00
Kang Seonghoon ead13f66d8 added the Local offset implementation. 2014-07-31 11:02:20 +09:00
Kang Seonghoon 9d52c6d2f1 added constructors from timestamp; added `UTC::{today,now}`. 2014-07-31 10:09:54 +09:00
Kang Seonghoon 95f5c0c095 splitted naive types into their own modules. 2014-07-29 16:17:26 +09:00
Kang Seonghoon 586b41df54 mass renaming from `BlahBlahZ` to `NaiveBlahBlah`. 2014-07-29 15:55:40 +09:00
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 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 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