gpt4 book ai didi

c# - 在 ASP.NET Web Api 2.0 GET 请求中传递 DateTimeKind

转载 作者:行者123 更新时间:2023-11-30 16:04:13 25 4
gpt4 key购买 nike

<分区>

我在我的 ASP.NET C# Web Api 2 项目中遇到 DateTimes 问题。我需要在我的查询字符串中传递一个 ISO 8601 日期,如下所示:

api/resource?at=2016-02-14T23:30:58Z

我的 Controller 方法如下

[HttpGet("/resource")]
public IActionResult GetResource([FromQuery]DateTime? at = null)
{
if (!at.HasValue)
{
at = DateTime.UtcNow;
}
else
{
at = DateTime.SpecifyKind(at.Value, DateTimeKind.Utc);
}

// ...
}

请注意这个小技巧 - 尽管日期是用表示 UTC 的“Z”指定的,但日期还是以 Local 的 DateTimeKind 形式出现。日期应该始终以 UTC 传递,尽管我不希望这是一个约束。我在内部使用 NodaTime,并且出于遗留原因仅在查询和响应模型中公开 DateTime。

  • 为什么我的日期被解析为本地的 DateTimeKind?

  • 如何使用 ASP.NET web api 2 从查询字符串中读取我的 UTC 日期?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com