JavaScriptSerializer вычитает один день от даты

я используюJavaScriptSerializer для сериализации DateTime, но когда я десериализую его, он показывает на один день меньше от даты сериализации:

Вот тест:

  DateTime startDate=new DateTime(2012,1,20);//set the 20th of January
  JavaScriptSerializer  serializer=new JavaScriptSerializer();
  string serializeDate= serializer.Serialize(startDate);
  DateTime afterDeserialize= serializer.Deserialize(serializeDate);//I get 19th of Jan
  Assert.Equals(startDate, afterDeserialize);

во-первых, я думаю, что из-за формата даты и времени javascript, но, как я знаю для javascript, месяц равен нулю0=January, но я получаю на один день меньше первоначальной даты.