title: Joda-Time: DateTime, DateMidnight and LocalDate usage
body: <p><a href="http://www.joda.org/joda-time/" rel="noreferrer">Joda-Time</a> library includes different datetime classes</p>
  
  <blockquote>
    <p><a href="http://www.joda.org/joda-time/apidocs/org/joda/time/DateTime.html" rel="noreferrer">DateTime</a> - Immutable replacement
    for JDK Calendar<br> <a href="http://www.joda.org/joda-time/apidocs/org/joda/time/DateMidnight.html" rel="noreferrer">DateMidnight</a>
    - Immutable class representing a date where the time is forced to
    midnight<br> <a href="http://www.joda.org/joda-time/apidocs/org/joda/time/LocalDateTime.html" rel="noreferrer">LocalDateTime</a> -
    Immutable class representing a local
    date and time (no time zone)<br></p>
  </blockquote>
  
  <p>I'm wondering how are you using these classes in your <em>Layered Applications</em>.</p>
  
  <p>I see advantages in having almost all the Interfaces using LocalDateTime (at the Service Layer at least) so that my Application doesn't have to manage Timezones and can safely assume Times always in UTC. My app could then use DateTime to manage Timezones at the very beginning of the Execution's Flow.</p>
  
  <p>I'm also wondering in which scenario can DateMidnight be useful.</p>