首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >邮递员如何获得动态和自适应的时间戳变量?

邮递员如何获得动态和自适应的时间戳变量?
EN

Stack Overflow用户
提问于 2021-02-24 10:28:13
回答 1查看 1.7K关注 0票数 0

我需要做的是生成少量的时间戳: timeNow、+1y、+5年以及其他几个随机日期。所有这些都需要在“预请求脚本”中用于邮递员API测试,其中rRequired格式是:YYYY:mm:ss.mssZ,实际上需要喜欢2021-02-24T12:05:35.423Z。

首先,当我尝试使用{{$isoTimestamp}动态变量时,它并没有做任何已经令人沮丧的事情。其次,我手动创建了一个'now‘日期,然后将其与'Z’连在一起,它看起来已经像*。

代码语言:javascript
复制
const moment = require('moment');    
let eventDate = moment().format("YYYY-MM-DDTHH:mm:ss.ms);    
let eventDateTime = eventDate + "Z";

因此,这给出了我想要的时间格式(实际上是字符串),但没有提供任何可能获得这些随机日期,now+1year和now+5years。我对此有点陌生,所以我的蛋蛋坏了,真的。有人知道吗,美女?

EN

回答 1

Stack Overflow用户

发布于 2021-02-24 10:53:23

您可以在postman脚本会话中获得动态变量,如:

代码语言:javascript
复制
console.log(pm.variables.replaceIn("{{$isoTimestamp}}"))

您应该使用replaceIn

还可以添加一些最新的内容,例如:

如果您的启动时间为YYYY DDTHH:MM:ss.sssz格式,则使用:

代码语言:javascript
复制
const moment = require('moment');

if (pm.info.iteration === 0) {

    pm.collectionVariables.set("startTime", moment.utc())

} else {

    let measuredOnUtc = pm.collectionVariables.get("startTime")

    measuredOnUtc = moment(measuredOnUtc)

    pm.collectionVariables.set("startTime", measuredOnUtc.add(3, 'hours').utc())

}

如果startime格式为DD-MM-YYYYTHH:MM:ss.SSSZ,则使用:

代码语言:javascript
复制
const moment = require('moment');

if (pm.info.iteration === 0) {

    pm.collectionVariables.set("startTime", moment.utc().format("DD-MM-YYYYTHH:MM:ss.SSS[Z]"))

} else {

    let measuredOnUtc = pm.collectionVariables.get("startTime")

    measuredOnUtc = moment(measuredOnUtc, "DD-MM-YYYYTHH:MM:ss.SSS[Z]")

    pm.collectionVariables.set("startTime", measuredOnUtc.add(3, 'hours').format("DD-MM-YYYYTHH:MM:ss.SSS[Z]"))

}

THe请求主体应该是:slight_smile:

代码语言:javascript
复制
{

bbla:bla,

"startTime": "{{startTime}}",

bbla:bla
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66348994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档