@@ -0,0 +1,1531 @@
+package com.alibaba.json.bvt.bug;%0A%0Aimport java.util.Calendar;%0Aimport java.util.Date;%0A%0Aimport org.junit.Assert;%0A%0Aimport com.alibaba.fastjson.JSON;%0Aimport com.alibaba.fastjson.parser.Feature;%0Aimport com.alibaba.fastjson.serializer.SerializerFeature;%0A%0Aimport junit.framework.TestCase;%0A%0Apublic class Bug_for_issue_447 extends TestCase %7B%0A%0A    public void test_for_issue() throws Exception %7B%0A        Calendar calendar = Calendar.getInstance();%0A        calendar.set(Calendar.HOUR_OF_DAY, 0);%0A        calendar.set(Calendar.MINUTE, 0);%0A        calendar.set(Calendar.SECOND, 0);%0A        calendar.set(Calendar.MILLISECOND, 0);%0A        Foo foo = new Foo();%0A        foo.setCreateDate(calendar.getTime());%0A        String date = JSON.toJSONString(foo, SerializerFeature.UseISO8601DateFormat);%0A        Assert.assertEquals(%22%7B%5C%22createDate%5C%22:%5C%222016-04-13+08:00%5C%22%7D%22, date);%0A        Foo foo2 = JSON.parseObject(date, Foo.class, Feature.AllowISO8601DateFormat);%0A        Assert.assertEquals(%22%7B%5C%22createDate%5C%22:%5C%222016-04-13 00:00:00%5C%22%7D%22, JSON.toJSONString(foo2, SerializerFeature.WriteDateUseDateFormat));%0A    %7D%0A%0A    public static class Foo %7B%0A%0A        private String name;%0A        private Date   createDate;%0A%0A        public String getName() %7B%0A            return name;%0A        %7D%0A%0A        public void setName(String name) %7B%0A            this.name = name;%0A        %7D%0A%0A        public Date getCreateDate() %7B%0A            return createDate;%0A        %7D%0A%0A        public void setCreateDate(Date createDate) %7B%0A            this.createDate = createDate;%0A        %7D%0A%0A    %7D%0A%7D%0A

add testcase for issue 447. https://github.com/alibaba/fastjson/issues/447