Commit Graph

375 Commits

Author SHA1 Message Date
Tom Gallacher 7b31609418 Adding fixed precision for Nanosecond3, 6 and 9 2015-09-03 13:40:34 +01:00
Kang Seonghoon 68f45dae75 Fix a link in the README.
Fixes #41.
2015-08-08 13:09:44 +09:00
Kang Seonghoon 01b3ed2ada 0.2.15: more formatting specifiers and documentation fixes.
- Added padding modifiers `%_?`, `%-?` and `%0?`.

- Added new specifiers `%:z` and `%.f`.

- When `%s` specifier is used with a time zone, the time zone offset was
  ignored. This has been fixed.

- Several documentation fixes including the misleading presence of
  colons in the `%z` specifier. `%:z` was introduced partly due to this.
2015-07-05 15:26:30 +09:00
Kang Seonghoon 3220d0f15d updated `CHANGELOG.md`. 2015-07-05 15:06:38 +09:00
Kang Seonghoon 1f40b03ab9 new formatting specifiers to `strftime` syntax.
- Padding modifiers `%_?`, `%-?` and `%0?` are implemented.
  They are glibc extensions which seem to be reasonably widespread
  (e.g. Ruby).

- Added `%:z` specifier and corresponding formatting items
  which is essentially same to `%z` but with a colon.

- Added a new specifier `%.f` which precision adapts from the input.
  Also clearly documented the differences between `%f` and `%.f`. (#40)
2015-07-05 15:00:11 +09:00
Kang Seonghoon 5bff8170ff added more examples to chrono::naive::date. 2015-06-03 00:33:45 +09:00
Kang Seonghoon 0466a4bf30 documentation fix and some slight bug fix.
- The time zone offset is printed without a colon, but the documentation
  had that inverted. (#39)

- `chrono::format::strftime`'s specifier table is tested throughly.

- When `%s` specifier is used with a time zone, the time zone offset was
  ignored. This has been fixed.
2015-05-29 02:26:01 +09:00
Kang Seonghoon 0d6c3ce11a a couple of documentation fixes.
- We've got 1.0.0, so no need for version pinning now.

- `%Z` is formatting-only specifier but wasn't clearly documented.
  Fixes #38.
2015-05-25 10:12:11 +09:00
Kang Seonghoon 9cff70bd04 0.2.14: fixed a subtle bug in `Naive(Date)Time` addition.
- `NaiveDateTime +/- Duration` or `NaiveTime +/- Duration` could
  have gone wrong when the `Duration` to be added is negative and
  has a fractional second part.

  This was caused by an underflow in the conversion from `Duration`
  to the parts; the lack of tests for this case allowed a bug.
  A regression test has been added to avoid further bugs. (#37)
2015-05-15 02:20:03 +09:00
Kang Seonghoon 5ff21f4077 fixed a subtle bug for `Naive(Date)Time + Duration`. (#37)
The exact condition is that the `Duration` to be added is negative
and has a fractional second part. This was not a problem when
`Duration` was Chrono's own type, but a new code for external (then
libstd, now libtime) `Duration` was not tested for this condition
by accident. Consequently this condition caused an underflow in
the fractional part, resulting in a slight inaccuracy.

Fixes #37.
2015-05-15 02:06:34 +09:00
Kang Seonghoon 6d4054a3a7 some more docs for NaiveDate. 2015-05-03 14:38:27 +09:00
Kang Seonghoon e08f0849dc well, I forgot to update the README. 2015-04-29 02:12:17 +09:00
Kang Seonghoon 90ac81e9f9 0.2.13: beta stabilization and optional rustc_serialize deps.
- This version is finally beta-compatible.

  This introduces a slight incompatibility, namely, due to
  the rewired reexport for `chrono::Duration` (which now comes
  from crates.io `time` crate).

- The optional dependency on `rustc_serialize` and relevant
  `Rustc{En,De}codable` implementations for supported types
  has been added. You will need the `rustc-serialize` Cargo
  feature to use them.
2015-04-29 02:09:04 +09:00
Kang Seonghoon ead64806c5 Merge pull request #36 from guersam/tmp/rustc_serialize
Add optional rustc-serialize support
2015-04-29 01:09:25 +09:00
Jisoo Park b5281af9f3 Add optional rustc-serialize support 2015-04-28 18:42:18 +09:00
Kang Seonghoon 89985b873c Merge pull request #35 from Kroisse/stabilize
Stabilize to Rust 1.0 beta 2
2015-04-26 21:09:39 +09:00
Eunchong Yu 2ced2b1fb2 Exclude benchmark-related tests by default
This features can be enabled to use the cfg flag 'bench'.
2015-04-26 15:53:39 +09:00
Eunchong Yu 28f4c7acd2 Remove unstable feature 'std-misc' 2015-04-26 15:52:16 +09:00
Eunchong Yu d84588eb49 Remove unstable feature 'zero_one' and use the impl of 'num' crate 2015-04-26 15:41:18 +09:00
Eunchong Yu b950d83454 Remove unstable feature 'core' 2015-04-26 15:17:01 +09:00
Eunchong Yu 878b81d72f Remove unstable slice pattern 2015-04-26 15:10:28 +09:00
Kang Seonghoon 533161cfd7 0.2.12: language changes.
- Many `std::num` traits are removed and replaced with
  the external `num` crate. For time being, thus, Chrono will
  require the dependency on `num`. This is expected to be temporary
  however.
2015-04-25 00:12:56 +09:00
Kang Seonghoon c6b39197b9 Merge pull request #33 from guersam/tmp/language-update
Language update
2015-04-24 23:26:12 +09:00
Jisoo Park 14a44aef2b Language update 2015-04-24 16:45:53 +09:00
Kang Seonghoon eced570882 0.2.11: language changes.
- Replaced `thread::scoped` with `thread::spawn` to cope with
  a rare de-stabilization event.

- `#[deprecated]` is (ironically) deprecated with user crates.
  All uses of them have been replaced by doc comments.
2015-04-17 01:28:31 +09:00
Kang Seonghoon 7fd0cf124a 0.2.10: language changes.
- `Copy` requires `Clone`.
2015-04-05 03:18:49 +09:00
Kang Seonghoon 482e854f87 Merge pull request #32 from guersam/master
Update to the latest nightly
2015-04-05 03:14:43 +09:00
Jisoo Park f69d8ecd9a Update to the latest nightly 2015-04-04 20:49:06 +09:00
Kang Seonghoon 9ed34ec542 0.2.9: language changes.
- `std::num::Int` is deprecated.

- Removed one feature flag (`str_char`).
2015-04-03 17:53:44 +09:00
Kang Seonghoon e012702033 0.2.8: language changes.
- Slice patterns are now feature gated.

- Reformatted the `chrono::format::strftime` documentation
  with a proper table (closes #31).
2015-03-30 10:23:20 +09:00
Kang Seonghoon c43479bfa7 Merge pull request #30 from huonw/update
Slice patterns are now feature gated.
2015-03-30 09:55:03 +09:00
Huon Wilson 5bbc668081 Slice patterns are now feature gated. 2015-03-29 22:09:15 +11:00
Kang Seonghoon 98c5f3a2b1 0.2.7: language changes.
- Feature flags are now required on the doctests.

- New lints for trivial casts. We are now not going to change
  the internal implementation type for `NaiveDate`, so that's fine.
2015-03-27 11:35:34 +09:00
Kang Seonghoon a5bd6c040e 0.2.6: language changes and dependency updates.
- `range` is now deprecated.

- `str_char` feature gate is split out from `collections`.
2015-03-21 22:01:52 +09:00
Kang Seonghoon 848d828e24 started adding examples to the doc comments. 2015-03-16 01:09:02 +09:00
Kang Seonghoon 04b179502c 0.2.5: language changes, mostly overflow changes. 2015-03-06 00:23:51 +09:00
Kang Seonghoon 37be780b31 0.2.4: language changes and bug fixes. 2015-03-03 02:40:03 +09:00
Kang Seonghoon 2be6e14446 Fixes #27.
This is due to somewhat ambiguous semantics of `Date`. It cannot
really constructed without an intermediate `DateTime` much like
the removed `Time`, but it is much more useful than `Time` so
we need some reasonable meaning to it. This commit clarifies
that meaning and corrects some problems around it:

- The date itself is timezone-agnostic unless the timezone itself
  has an offset equal to or greater than one day. In all current
  time zones, the date conversion should be a no-op.

- The date may be attached some offset; that offset should have
  been occurred within the corresponding day in either the local
  time or the UTC.

- `TimeZone` is free to assign the offset within this constraint.
  For convenience, the current `Local` time zone assumes the local
  midnight or the UTC midnight.
2015-03-03 02:37:20 +09:00
Kang Seonghoon fae01ad74d Merge pull request #28 from tshakah/master
Remove old closure kind syntax
2015-03-02 23:03:29 +09:00
Dan d85ca7564f Remove old closure kind syntax 2015-03-02 11:50:03 +00:00
Kang Seonghoon 2dbc11dcb1 0.2.3: Fixed a couple of outstanding bugs.
- `DateTime<Tz>` and `Date<Tz>` is now `Copy`/`Send` when
  `Tz::Offset` is `Copy`/`Send`. The implementations for them were
  mistakenly omitted. Fixes #25.

- `Local::from_utc_datetime` didn't set a correct offset.
  The tests for `Local` were lacking. Fixes #26.
2015-02-27 13:08:20 +09:00
Kang Seonghoon ffa86603ae 0.2.2: language & docs changes.
- `missing_docs` lint now checks for associated types.
2015-02-27 00:24:06 +09:00
Kang Seonghoon c11b6deb5a 0.2.1: language changes.
- `std::hash` has been renewed.

- `DelayedFormat` no longer has a redundant lifetime.
2015-02-21 18:15:11 +09:00
Kang Seonghoon e80501dcb3 forgot to update the docs for removal of `Time`... 2015-02-19 05:42:18 +09:00
Kang Seonghoon be6a721be6 0.2.0: offset reform, new format/parse module, various cleanups.
Fixes #11 and #12.
The complete list of changes is available in [CHANGELOG.md].

[CHANGELOG.md]: https://github.com/lifthrasiir/rust-chrono/blob/master/CHANGELOG.md#020-2015-02-19
2015-02-19 05:12:03 +09:00
Kang Seonghoon 6a9490522e updated docs for RFC2822/3339 and added ChangeLog. 2015-02-19 05:08:00 +09:00
Kang Seonghoon 30322bbc89 added `parse_from_rfc{2822,3339}`/`to_rfc{2822,3339}` methods to DateTime. 2015-02-19 04:57:21 +09:00
Kang Seonghoon 82c9345a4d okay, new `DateTime::time` was incorrect. 2015-02-19 04:28:38 +09:00
Kang Seonghoon f39b13a14c removed timezone-aware `Time` type.
`Time` with an associated time zone is in principle possible, but
in practice it can only meaningfully constructed from an existing
`DateTime`. this makes it hard to implement other operations
natural to `NaiveTime` for `Time` (e.g. `with_*` methods), so
we simply let it go.

migration path: if you *do* happen to use `Time`, don't panic!
every operation possible to `Time` is much more possible to
`NaiveTime`. if you have to deal with a local time, first combine
it with a `NaiveDate`, convert it via `TimeZone::from_local_datetime`
then extract `Time` part again.
2015-02-19 04:17:27 +09:00
Kang Seonghoon e997403c10 `num_seconds_from_unix_epoch` is gone, long live `timestamp`!
this is partly because... we are using the simple name `timestamp`
in the `Parsed` anyway. that value is so widespread enough that
its name can be simply THE timestamp. old methods have been marked
deprecated.
2015-02-19 02:45:29 +09:00