package com.alibaba.json.bvt;
import java.sql.Date;
import java.util.Locale;
import java.util.TimeZone;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import junit.framework.TestCase;
public class SqlDateTest1 extends TestCase {
protected void setUp() throws Exception {
JSON.defaultTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
JSON.defaultLocale = new Locale("zh_CN");
}
public void test_date() throws Exception {
long millis = 1324138987429L;
Date date = new Date(millis);
Assert.assertEquals("1324138987429", JSON.toJSONString(date));
Assert.assertEquals("{\"@type\":\"java.sql.Date\",\"val\":1324138987429}", JSON.toJSONString(date, SerializerFeature.WriteClassName));
Assert.assertEquals(1324138987429L, ((java.util.Date)JSON.parse("{\"@type\":\"java.util.Date\",\"val\":1324138987429}")).getTime());
Assert.assertEquals("\"2011-12-18 00:23:07\"",
JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat));
Assert.assertEquals("\"2011-12-18 00:23:07.429\"",
JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS"));
Assert.assertEquals("'2011-12-18 00:23:07.429'",
JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS",
SerializerFeature.UseSingleQuotes));
}
}