jorgeortiz85 / scala-time

A Scala wrapper for Joda Time

This URL has Read+Write access

name age message
file .gitignore Fri Apr 24 15:43:22 -0700 2009 Initial commit [Jorge Ortiz]
file LICENSE Fri Apr 24 15:43:22 -0700 2009 Initial commit [Jorge Ortiz]
file README Tue Apr 28 18:15:57 -0700 2009 New features suggested by Bradford [Jorge Ortiz]
file pom.xml Tue Apr 28 18:15:57 -0700 2009 New features suggested by Bradford [Jorge Ortiz]
directory src/ Wed May 06 21:15:04 -0700 2009 Support for all subclasses of ReadablePartial a... [Jorge Ortiz]
README
A Scala wrapper for Joda Time

USAGE:

  import org.scala_tools.time.Imports._

  DateTime.now
  // returns org.joda.time.DateTime = 2009-04-27T13:25:42.659-07:00

  DateTime.now.hour(2).minute(45).second(10)
  // returns org.joda.time.DateTime = 2009-04-27T02:45:10.313-07:00

  DateTime.now + 2.months
  // returns org.joda.time.DateTime = 2009-06-27T13:25:59.195-07:00

  DateTime.nextMonth < DateTime.now + 2.months
  // returns Boolean = true

  DateTime.now to DateTime.tomorrow
  // return org.joda.time.Interval =
  //   2009-04-27T13:47:14.840/2009-04-28T13:47:14.840

  (DateTime.now to DateTime.nextSecond).millis
  // returns Long = 1000
  
  2.hours + 45.minutes + 10.seconds
  // returns org.scala_tools.time.DurationBuilder
  // (can be used as a Duration or as a Period)
  
  (2.hours + 45.minutes + 10.seconds).millis
  // returns Long = 9910000  
  
  2.months + 3.days
  // returns Period

This is mostly a convenience wrapper around the Joda Time libraries, adding
more pleasant syntax like operators for addition, subtraction, and comparison.
Also, most fields usually available as "getField" are now simply available as
"field", following the Scala convention. Some instances of "asX" or "toX" have
also been shortened.

Please see Joda Time for full explanation of key concepts and API:
http://joda-time.sourceforge.net/index.html


MOTIVATION:

The Java Date and Calendar libraries are largely inadequate. They are mutable,
not thread-safe, and very inconvenient to use.

The Joda Time library is a great replacement for Java's Date and Calendar
classes. They're immutable by default, have a much richer and nicer API, and
can easily be converted to Java's Date and Calendar classes when necessary.

This project provides a thin layer of convenience around the Joda Time
libraries, making them more idiomatic to use within Scala.