The TimeSpan class represents a duration of time in milliseconds. In this
way, it is similar to the scala.concurrent.Duration class. It is
mostly used in Lift APIs in similar positions as the Scala Duration
class (for example, in event scheduling).

Unlike in the Lift 2.x series, building a TimeSpan with a Long will not
have different behavior depending on the value passed. Any passed Long
will be used as a duration.

Prior to Lift 3.0, TimeSpan was an amalgam of duration and joda
DateTime, and allowed conversions between the two. As a result,
operational semantics were poorly defined and it was easy to call a method
that seemed like it should have simple duration semantics but run into
DateTime semantics that made things more complicated instead.

Lift 3.0 mostly maintains API compatibility with the Lift 2.x series, but
introduces a series of deprecations to indicate places where dangerous
and potentially unclear behavior may occur. Lift 3.1 will maintain API
compatibility with all non-deprecated parts of the TimeSpan API, but will
remove the deprecated aspects.

For deprecated years and month builders it handle an operations on duration
field values. Then it could be used only in to-period implicit conversion.

The TimeSpan object provides class represents an amount of time.
It can be translated to a date with the date method. In that case, the number of millis seconds will be used to create a Date
object starting from the Epoch time (see the documentation for java.util.Date)