【问题标题】:How to add current datetime in POST API request?如何在 POST API 请求中添加当前日期时间?
【发布时间】:2021-07-15 23:48:27
【问题描述】:

我希望开始和结束日期在当前日期时间。我不知道这是否可能。我需要它,因为我想每天使用我的管道触发数据。

【问题讨论】:

  • 您的意思是要自动填充今天的日期吗?此外,您图片中的日期仅从上午 12 点到上午 11:59(不是晚上 11:59),这是故意的吗?
  • 是的,完全正确。有可能吗?
  • 您使用什么工具提出请求?
  • 我正在使用 Postman。我需要把它写在http请求正文中。
  • 顺便说一句,我需要从上午 12 点开始到晚上 11.59 结束(不是上午,那是一个错误)

标签: api postman


【解决方案1】:

您可以使用moment 来简化此操作。将此添加到pre-request script

let moment = require('moment');

pm.variables.set('startOfDay', moment().utc().startOf('day').format('YYYY-MM-DD HH:mm:ss'));
pm.variables.set('endOfDay', moment().utc().endOf('day').format('YYYY-MM-DD HH:mm:ss'));

在需要的地方使用{{startOfDay}}{{endOfDay}} 变量。

【讨论】:

    【解决方案2】:

    您可以从请求正文中删除 "start""end",然后使用 Postman 的 Pre-request Script 部分(在 Body 旁边),添加以下几行:

    // Gets current UTC time in the format "yyyy-MM-dd"
    const UTCDate = (new Date()).toISOString().split("T")[0];
    
    // Removes manually set values for "start" and "end", if present
    pm.request.body.urlencoded.remove(param => param.key === "start" || param.key === "end");
    // Adds a parameter "start" set to UTC midnight
    pm.request.body.urlencoded.add({ key: "start", value: `${UTCDate}T00:00:00.000Z` });
    // Adds a parameter "end" set to just before UTC midnight of the next day
    pm.request.body.urlencoded.add({ key: "end", value: `${UTCDate}T23:59:59.999Z` });
    

    【讨论】:

      【解决方案3】:

      您可以在请求的 pre-request-script 中创建一个环境变量,然后在正文中使用该变量

      var now = new Date();
      var timestamp = now.toISOString(); //or whatever format you want.
      pm.environment.set("timestamp", timestamp);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-30
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多