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

时间:2012-10-11 12:35:36

标签: c# json wcf

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

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

DateTime values that are greater than DateTime.MaxValue or smaller than DateTime.MinValue when converted to UTC cannot be serialized to JSON

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

代码大约是2k行,所以我认为在此处发布它没有价值。

任何想法如何解决?

1 个答案:

答案 0 :(得分:5)

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

找到未初始化的值并更正它,或move to the USA:)

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

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