content: package com.alibaba.json.bvt.bug;
  
  import java.text.SimpleDateFormat;
  import java.util.ArrayList;
  import java.util.Date;
  import java.util.List;
  import java.util.Locale;
  import java.util.TimeZone;
  
  import org.junit.Assert;
  import junit.framework.TestCase;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.annotation.JSONField;
  
  public class Bug_for_80108116 extends TestCase {
      protected void setUp() throws Exception {
          JSON.defaultTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
          JSON.defaultLocale = Locale.CHINA;
      }
      
      public void test_for_dateFormat() throws Exception {
          VO vo = new VO();
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", JSON.defaultLocale);
          dateFormat.setTimeZone(JSON.defaultTimeZone);
          vo.setDate(dateFormat.parse("2012-07-12"));
  
          List<VO> voList = new ArrayList<VO>();
          voList.add(vo);
  
          String text = JSON.toJSONString(voList);
          Assert.assertEquals("[{\"date\":\"2012-07-12\"}]", text);
      }
  
      public static class VO {
  
          private Date date;
  
          @JSONField(format = "yyyy-MM-dd")
          public Date getDate() {
              return date;
          }
  
          public void setDate(Date date) {
              this.date = date;
          }
      }
  
  }
  