【发布时间】:2019-07-04 12:41:06
【问题描述】:
SerializeDateTime 方法以毫秒为单位返回日期时间。我想让他转为微秒。 SerializeDateTime方法如下:
private static void SerializeDateTime(DateTime datetime, StringBuilder sb, JavaScriptSerializer.SerializationFormat serializationFormat)
{
if (serializationFormat == JavaScriptSerializer.SerializationFormat.JSON)
{
sb.Append("\"\\/Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks) / 10000L);
sb.Append(")\\/\"");
}
else
{
sb.Append("new Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks) / 10000L);
sb.Append(")");
}
}
我想重写这个方法如下。
private static void SerializeDateTime(DateTime datetime, StringBuilder sb, JavaScriptSerializer.SerializationFormat serializationFormat)
{
if (serializationFormat == JavaScriptSerializer.SerializationFormat.JSON)
{
sb.Append("\"\\/Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks));
sb.Append(")\\/\"");
}
else
{
sb.Append("new Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks));
sb.Append(")");
}
}
我不知道该怎么做。我们还能如何提出解决方案? 当我想尝试时,Newtonsoft 序列化程序无法序列化我的模型。如果可行,也许我可以使用 dateformat 进行设置。
【问题讨论】:
标签: c# .net javascriptserializer