Skip to content
Dietrich Epp edited this page Jun 8, 2014 · 1 revision

datetime-rs status

Design decisions that have been made are in the /doc folder, with rationale.

Design decisions not yet made

  • What do we call time standards? Time scales? Time lines? Clocks?
  • The default time standard must have 86,400 in every day. What time standard is it? POSIX, UTC-SLS, or can it be ambiguous?
  • How do we load the time zone database?
  • How do we map invalid dates or times to valid ones (e.g., what is one month after January 30)? Should the user be able to customize the way this happens?

Data types written

  • Duration (some unit tests, needs more test coverage)

Data types, concepts, and features planned for v1.0

  • Instant: a point in time according to the default time standard
  • OffsetDateTime: a point in time together with an offset from UTC
  • ZonedDateTime: a point in time together with a time zone
  • LocalDate: a date on the ISO 8601 calendar without time zone information
  • LocalDateTime: a point on the ISO 8601 calendar without time zone information
  • LocalTime: a time of day without date or time zone information
  • TimeZone: time zone information which maps instants to offsets
  • Period: an amount of time relative to a calendar (e.g. two months)
  • Realtime clock: provides the current instant, not necessarily monotonic
  • Monotonic clock: provides duration relative to arbitrary (unknown) instant, not necessarily synchronized with realtime clock
  • Parsing: parse ISO 8601, as well as RFC 822/1123 (and what other formats?)

Concepts on hold for later versions

  • Other calendar systems
  • Other time standards (POSIX, UTC-SLS, UTC, TAI, etc.)
  • Miscellaneous ideas from JSR 310 and ThreeTen-Extra