@@ -0,0 +1,1423 @@
+package com.alibaba.json.bvt.issue_2000;%0A%0Aimport com.alibaba.fastjson.JSON;%0Aimport com.alibaba.fastjson.annotation.JSONField;%0Aimport junit.framework.TestCase;%0A%0Aimport java.text.SimpleDateFormat;%0Aimport java.util.Date;%0Aimport java.util.Locale;%0Aimport java.util.TimeZone;%0A%0Apublic class Issue2088 extends TestCase %7B%0A    protected void setUp() throws Exception %7B%0A        JSON.defaultTimeZone = TimeZone.getTimeZone(%22Asia/Shanghai%22);%0A        JSON.defaultLocale = Locale.CHINA;%0A    %7D%0A%0A    public void test_for_issue() throws Exception %7B%0A        String json = %22%7B%5C%22date%5C%22:%5C%2220181011103607186+0800%5C%22%7D%22;%0A        Model m = JSON.parseObject(json, Model.class);%0A%0A        SimpleDateFormat format = new SimpleDateFormat(%22yyyyMMddHHmmssSSSZ%22);%0A        format.setTimeZone(JSON.defaultTimeZone);%0A        Date date = format.parse(%2220181011103607186+0800%22);%0A%0A        assertEquals(date, m.date);%0A    %7D%0A%0A    public void test_for_issue_1() throws Exception %7B%0A        String json = %22%7B%5C%22date%5C%22:%5C%2220181011103607186-0800%5C%22%7D%22;%0A        Model m = JSON.parseObject(json, Model.class);%0A%0A        SimpleDateFormat format = new SimpleDateFormat(%22yyyyMMddHHmmssSSSZ%22, JSON.defaultLocale);%0A        format.setTimeZone(JSON.defaultTimeZone);%0A        Date date = format.parse(%2220181011103607186-0800%22);%0A%0A        assertEquals(date, m.date);%0A    %7D%0A%0A    public static class Model %7B%0A        @JSONField(format = %22yyyyMMddHHmmssSSSZ%22)%0A        public Date date;%0A    %7D%0A%7D%0A

add testcase for issue #2088