title: Recommended use for Joda-Time's DateMidnight
body: <p>The javdoc for <code>LocalDate#toDateMidnight</code> reads as follows:</p>
  
  <blockquote>
    <p>As from v1.5, you are recommended to avoid DateMidnight and use
    toDateTimeAtStartOfDay() instead because of the exception detailed
    below.</p>
    
    <p>This method will throw an exception if the default time zone switches
    to Daylight Savings Time at midnight and this LocalDate represents
    that switchover date. The problem is that there is no such time as
    midnight on the required date, and as such an exception is thrown.</p>
  </blockquote>
  
  <p>The fact that midnight does not exist in certain time zones seems like reason enough to avoid using <code>DateMidnight</code> entirely (assuming your code is not using a fixed time zone that is known not to have this DST situation and will never need to use different time zones in the future).</p>
  
  <p>However, <code>DateMidnight</code> is not deprecated and there is no similar recommendation or warning in the javadoc for the <code>DateMidnight</code> class itself.  Furthermore, the <code>DateMidnight</code> constructor happily accepts an instant and time zone such that midnight does not exist on the given day, rather than throwing an <code>IllegalArgumentException</code> like <code>LocalDate#toDateMidnight</code>.  The resulting <code>DateMidnight</code> behaves like a <code>DateTime</code> with time at start of day.</p>
  
  <p>When midnight does not exist on a given day, why does <code>LocalDate#toDateMidnight</code> throw an exception while the <code>DateMidnight</code> constructor does not?  What is the recommended use case for <code>DateMidnight</code> if any?</p>