相关疑难解决方法(0)

如何将DateTime格式化为Web UTC格式?

我有一个DateTime,我想格式化为" 2009-09-01T00:00:00.000Z",但下面的代码给我" 2009-09-01T00:00:00.000+01:00"(两行):

new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz")
new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz")
Run Code Online (Sandbox Code Playgroud)

任何想法如何使其工作?

.net c# datetime utc

79
推荐指数
7
解决办法
17万
查看次数

将UTC DateTime传递给Web API HttpGet方法会产生本地时间

我正在尝试将UTC日期作为查询字符串参数传递给Web API方法.URL看起来像

/api/order?endDate=2014-04-01T00:00:00Z&zoneId=4
Run Code Online (Sandbox Code Playgroud)

方法的签名看起来像

[HttpGet]
public object Index(int zoneId, DateTime? endDate = null)
Run Code Online (Sandbox Code Playgroud)

日期即将到来,31/03/2014 8:00:00 PM但我希望它可以进入01/04/2014 12:00:00 AM

JsonFormatter.SerializerSettings看起来像这样

new JsonSerializerSettings
{
    ContractResolver = new CamelCasePropertyNamesContractResolver(),
    DateTimeZoneHandling = DateTimeZoneHandling.Utc,
    DateFormatHandling = DateFormatHandling.IsoDateFormat
};
Run Code Online (Sandbox Code Playgroud)

编辑#1:我注意到,当我发布2014-04-01T00:00:00Z它时,它将序列化为C#中的UTC DateTime类型.然而,我发现了一个endDate.Value.ToUniversalTime()改变它的工作,虽然我觉得奇怪的是它如何用于POST而不是GET.

datetime json model-binding asp.net-web-api

41
推荐指数
3
解决办法
3万
查看次数

标签 统计

datetime ×2

.net ×1

asp.net-web-api ×1

c# ×1

json ×1

model-binding ×1

utc ×1