C# 将日期时间转换为 WCF 日期时间格式

mis*_*iga 3 c# wcf json json.net

我使用 JsonNet 解析具有 DateTime 属性的 c# 对象,然后将其发布到服务器。但它返回日期格式错误。它要求采用这样的格式:

"/Date(1327572000000-1000)/"
Run Code Online (Sandbox Code Playgroud)

如何将 c# DateTime 转换为这种格式?

Mat*_*int 5

由于您询问如何使用 JSON.NET 以这种格式进行序列化:

// Set the DateFormatHandling wherever you are configuring JSON.Net.
// This is usually globally configured per application.
var settings = new JsonSerializerSettings
{
    DateFormatHandling = DateFormatHandling.MicrosoftDateFormat
};

// When you serialize, DateTime and DateTimeOffset values will be in this format.
string json = JsonConvert.SerializeObject(yourDateTimeValue, settings);
Run Code Online (Sandbox Code Playgroud)

但是,我强烈建议您不要使用这种格式,除非您绝对必须这样做,通常是为了与旧代码兼容。ISO-8601 格式是 JSON 中日期和时间的首选(事实上)格式。

另请参阅: 关于 JSON 日期的噩梦