title: How to deal with MultiTimeZone and local time / date in Play
body: <p>I have not much experience with MultiTimeZone and / or local dates, so I'm getting my hands dirty on this but I do not how how and where to start, so be gently with me :-)</p>
  
  <p>I have two types of Date(Time) fields:</p>
  
  <ol>
  <li>Date (storing Day, Month and Year)</li>
  <li>DateTime (same as 1 but including time)</li>
  </ol>
  
  <p>How should I define my properties in Play?</p>
  
  <pre><code> @Formats.DateTime(pattern="MM-dd-yyyy")
   public Date reqCompletionDate;
  </code></pre>
  
  <p>OR should I go with JodaTime (never used it before):</p>
  
  <pre><code>@Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
  public DateTime reqCompletionDate;
  </code></pre>
  
  <p>If I go for <code>java.util.Date</code>, how can I convert it to the users local <code>Date format</code> (i.e yyyy-MM-dd)? Plays automatic binding will fail because of the format issues, so I need to create a Custom Binder for it? This will affect all my <code>Date</code> fields, right?</p>
  
  <p>Or would you advise to use getters and setters for all the Date(Time) fields so that I can pass the users <code>Locale</code> to get the correct time. In this case, the automatic bind of Play will fail and I still would need a custom binders for <code>Date</code> and <code>DateTime</code>?</p>
  
  <p>Or am I over-thinking this all and should handle this in a different way? Thanks for your thoughts!</p>
  
  <pre><code>UPDATE: 2012-07-23: I think I will follow these steps:
  </code></pre>
  
  <p><strong>Step 1</strong>: Make play starts and initialize with UTC timezone</p>
  
  <p><strong>Step 2</strong>: Make all date time fields same format, according to UTC time zone</p>
  
  <p><strong>Step 3</strong>: Convert to users local time as late as possible</p>
  
  <p>When user posts a form containing a <code>local date (time)</code> convert it as soon as possible to UTC time. If I have time I will post my code here.</p>