title: Posted date is serialized to wrong date with 1 day off
body: <p><a href="https://i.stack.imgur.com/ui1ar.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ui1ar.png" alt="enter image description here"></a></p>
  
  <p>I post to my endpoint with data <code>departureTime: "2019-10-21"</code>, and I output the received departureTime variable in my spring program.</p>
  
  <pre><code>@CrossOrigin(origins = "*")
  @RequestMapping(value="/travel/query", method= RequestMethod.POST)
  public ArrayList&lt;TripResponse&gt; query(@RequestBody QueryInfo info,@RequestHeader HttpHeaders headers){
  
      if(info.getStartingPlace() == null || info.getStartingPlace().length() == 0 ||
              info.getEndPlace() == null || info.getEndPlace().length() == 0 ||
              info.getDepartureTime() == null){
          System.out.println("[Travel Service][Travel Query] Fail.Something null.");
          ArrayList&lt;TripResponse&gt; errorList = new ArrayList&lt;&gt;();
          return errorList;
      }
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  
      Calendar ca = Calendar.getInstance();
      ca.setTime(info.getDepartureTime());
      System.out.println("Departure date is " + format.format(ca.getTime()));
  
      ...
  }
  
  
  public class QueryInfo {
  
      @Valid
      @NotNull
      private String startingPlace;
  
      @Valid
      @NotNull
      private String endPlace;
  
      @Valid
      @NotNull
      private Date departureTime;
  
      public QueryInfo(){
          //Default Constructor
      }
  
      public String getStartingPlace() {
          return startingPlace;
      }
  
      public void setStartingPlace(String startingPlace) {
          this.startingPlace = startingPlace;
      }
  
      public String getEndPlace() {
          return endPlace;
      }
  
      public void setEndPlace(String endPlace) {
          this.endPlace = endPlace;
      }
  
      public Date getDepartureTime() {
          return departureTime;
      }
  
      public void setDepartureTime(Date departureTime) {
          this.departureTime = departureTime;
      }
  }
  </code></pre>
  
  <p>The console shows "Departure date is 2019-10-20".</p>
  
  <p>The server running my spring program should be in UTC-7 timezone.</p>
  
  <p>Any idea why this error happens? How do I do minimal changes to fix it?</p>
  
  <p>Edit:</p>
  
  <p>I run</p>
  
  <pre><code> System.out.println(ca.getTimeZone().toString());
  </code></pre>
  
  <p>it outputs <code>sun.util.calendar.ZoneInfo[id="America/Los_Angeles"...</code>. I think it's correct.</p>