content: package com.alibaba.json.bvt.date;
  
  import java.text.SimpleDateFormat;
  import java.util.Date;
  import java.util.Locale;
  import java.util.TimeZone;
  
  import junit.framework.TestCase;
  
  import org.junit.Assert;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.annotation.JSONField;
  
  public class DateFieldTest8 extends TestCase {
      protected void setUp() throws Exception {
          JSON.defaultTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
          JSON.defaultLocale = Locale.CHINA;
      }
      
      public void test_0() throws Exception {
          Entity object = new Entity();
          object.setValue(new Date());
          String text = JSON.toJSONStringWithDateFormat(object, "yyyy");
          SimpleDateFormat format = new SimpleDateFormat("yyyy", JSON.defaultLocale);
          format.setTimeZone(JSON.defaultTimeZone);
          Assert.assertEquals("{\"value\":\"" + format.format(object.getValue()) + "\"}",
                              text);
      }
  
      public void test_1() throws Exception {
          Entity object = new Entity();
          object.setValue(new Date());
          String text = JSON.toJSONString(object);
          SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", JSON.defaultLocale);
          format.setTimeZone(JSON.defaultTimeZone);
          Assert.assertEquals("{\"value\":\"" + format.format(object.getValue()) + "\"}",
                              text);
      }
  
      public static class Entity {
  
          @JSONField(format = "yyyy-MM-dd")
          private Date value;
  
          public Date getValue() {
              return value;
          }
  
          public void setValue(Date value) {
              this.value = value;
          }
  
      }
  }
  