将datetime转换为json格式时出现WCF错误

m0f*_*0fo 5 c# wcf json

我有一个返回JSON的WCF服务.

从今天早上起,我开始收到以下错误:

DateTime values that are greater than DateTime.MaxValue or smaller than DateTime.MinValue when converted to UTC cannot be serialized to JSON
Run Code Online (Sandbox Code Playgroud)

仅仅为了测试,我将今天的日期传递给使用JSON返回的所有DateTime变量,但我仍然得到相同的错误.

代码大约是2k行,所以我认为在这里发布它没有任何价值.

任何想法如何解决?

Joe*_*Joe 6

我怀疑你有一个DateTime未初始化的值 - 默认为DateTime.MinValue当地时间.如果您的本地时区早于UTC,则无法将其转换为UTC,因为这样做会导致负值Ticks.

找到未初始化的值并更正它,或移动到美国 :)

另一种解决方案可能是使用可空值(DateTime?代替DateTime).

这默认为null而不是DateTime.MinValue,因此您应该能够序列化未初始化的值.