AspNet Core-指定DateTime格式

时间:2019-01-08 06:28:50

标签: c# datetime asp.net-core asp.net-core-webapi

我正在使用第三方API,该API期望的HTTP header值如下所示(使用以下格式)。

日期:2017-10-15T14:25:21Z

当我尝试如下添加标题时,我收到无效的日期时间格式错误(当客户端在运行时注入标题时)

client.DefaultRequestHeaders.Add("Date", "2017-10-15T14:25:21Z");

所以我将上面的代码更改为如下代码

client.DefaultRequestHeaders.Date = DateTime.UtcNow;

但是,API抛出异常“ Hmac timestamp 2019-01-02不是有效的ISO8601 dateTime”

如何在HTTP请求标头中传递预期的日期时间格式?

  

编辑

- 我知道如何获取指定格式的日期字符串。我要问的是如何将UTC日期对象传递给具有特定格式的HTTP标头,如下所示。我还意识到datetime对象中不能包含格式。

  **client.DefaultRequestHeaders.Date = DateTime.UtcNow**

1 个答案:

答案 0 :(得分:0)

像这样

DateTime dt=Convert.ToDateTime("2019-01-02");           
string yourdate = dt.ToString("yyyy-MM-ddTHH:mm:ssZ");           
Console.WriteLine(yourdate);

工作示例

enter image description here