如何在邮递员中将{{时间戳}格式化为 MM/DD/YYYY?

在 Postman 中,dynamic variable{{$timestamp}}将当前的 Unix 时间戳插入到请求中。(表示自1970年1月1日以来的秒数)

"currentTime": "1510934784"

但是,我使用的 API 需要格式为 MM/DD/YYYY的时间戳。

"currentDate": "11/17/2017"

如何向邮递员插入当前日期(格式为 MM/DD/YYYY) ?

248579 次浏览

You could use 等一下 JS with Postman to give you that timestamp format.

You can add this to the pre-request script:

const moment = require('moment');
pm.globals.set("today", moment().format("MM/DD/YYYY"));

Then reference \{\{today}} where ever you need it.

If you add this to the Collection Level Pre-request Script, it will be run for each request in the Collection. Rather than needing to add it to 所有 the requests individually.

为了获得更多关于在 Postman 中使用 moment的信息,我写了一篇简短的博客文章: https://dannydainton.com/2018/05/21/hold-on-wait-a-moment/

使用 Pre-request script 选项卡编写 javascript 来获取日期并将其保存到一个变量中:

const dateNow= new Date();
pm.environment.set('currentDate', dateNow.toISOString());

and then use it in the request body as follows:

"currentDate": "\{\{currentDate}}"

我的解决方案类似于 Payam 的,除了我正在使用

//older code
//postman.setGlobalVariable("currentDate", new Date().toLocaleDateString());
pm.globals.set("currentDate", new Date().toLocaleDateString());

如果你点击文件夹上的“3点”,然后点击“编辑”

enter image description here

Then set Pre-Request Scripts for the all calls, so the global variable is always available.

enter image description here

JavaScript 中的任何未来日期(邮递员测试使用 JavaScript)都可以检索为:

var dateNow = new Date();
var twoWeeksFutureDate = new Date(dateNow.setDate(dateNow.getDate() + 14)).toISOString();


postman.setEnvironmentVariable("future-date", twoWeeksFutureDate);

在 PostMan 中我们有-> 预请求脚本。粘贴下面的代码片段。

const dateNow = new Date();
postman.setGlobalVariable("todayDate", dateNow.toLocaleDateString());

现在我们准备使用。

{
"firstName": "SANKAR",
"lastName": "B",
"email": "SANKARB@GMAIL.COM",
"creationDate": "\{\{todayDate}}"
}

如果您使用的是 JPA 实体类,那么请使用下面的代码片段

    @JsonFormat(pattern="MM/dd/yyyy")
@Column(name = "creation_date")
private Date creationDate;

在此输入图像描述 在此输入图像描述