如何在 Postman 预查询脚本和正文中获取当前的 ISO8601 时间戳?
Posted
技术标签:
【中文标题】如何在 Postman 预查询脚本和正文中获取当前的 ISO8601 时间戳?【英文标题】:How do I get current ISO8601 timestamp in Postman Pre-Query Script and Body? 【发布时间】:2020-03-25 16:13:05 【问题描述】:在预查询脚本中使用 Postman 和以下代码
const moment = require('moment');
pm.globals.set("timestamp", moment().format("YYYY-MM-DDTHH:MM:SSZ"));
我得到了回应
请求签名已过时且已过期。时间戳日期:2019-11-30T10:11:10+00:00
在正文中我使用的是 timestamp。
我需要 ISO8601 格式的时间戳。
如果我使用
$timestamp
它返回 1575110444 的 Linux 日期,今天 10:41 是正确的
【问题讨论】:
【参考方案1】:现在似乎有一个开箱即用的 $isoTimestamp
变量
【讨论】:
【参考方案2】:看看这个postman inbuilt variables
$timestamp
是邮递员的内置动态变量,它将始终返回 unix 时间戳。
你可以做的是重命名你设置的变量 -
const moment = require('moment');
pm.globals.set("timestamp1", moment().format("YYYY-MM-DDTHH:MM:SSZ"));
并使用它timestamp1
注意内置变量中的$
符号
查看this thread了解更多信息
【讨论】:
感谢您解决该问题的回答。我原以为 $ 可能意味着它是 Linux 语法,但我不是专家,我不想假设。现在进入签名问题。我对这一切都很陌生,所以在用我的问题轰炸他人之前,我正在做大量研究以尝试自学。 另外,我现在将它缩短为 const moment = require('moment'); pm.globals.set("时间戳", moment().format());它似乎仍然可以正常工作! 格式不应该是“YYYY-MM-DDTHH:mm:ssZ”吗?以上是关于如何在 Postman 预查询脚本和正文中获取当前的 ISO8601 时间戳?的主要内容,如果未能解决你的问题,请参考以下文章