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 Serialials将无法序列化我的模型。如果有效,也许我可以使用dateformat进行设置。
所讨论的方法未标记为 virtual
。它不能被覆盖。
为什么不只是在静态类中创建自己的方法?
public static CustomSerializer
{
public static void SerializeDateTime(...) {
//your implementation
}
}