代码之家  ›  专栏  ›  技术社区  ›  Alan B

aspnet core-指定日期时间格式

  •  1
  • Alan B  · 技术社区  · 7 年前

    我正在使用第三方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 回复  |  直到 7 年前
        1
  •  0
  •   ArunPratap Miguel    7 年前

    这样做

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

    工作实例

    enter image description here