Postman 如何在邮递员中获取不同时区的本地时间?

Postman 如何在邮递员中获取不同时区的本地时间?,postman,moment-timezone,postman-testcase,Postman,Moment Timezone,Postman Testcase,我想知道罗马时区的当地时间。在这里的postman文档中未找到有关如何使用矩沙盒内置库的任何详细信息 到目前为止我都试过了 var-moment=require('moment'); log(矩().tz(environment.TimeZone.format()); 它抛出的错误-TypeError |矩(…)。tz不是一个函数 又一次尝试- var moment=require('moment-timezone'); log(矩().tz(environment.TimeZone.form

我想知道罗马时区的当地时间。在这里的postman文档中未找到有关如何使用矩沙盒内置库的任何详细信息

到目前为止我都试过了

var-moment=require('moment');
log(矩().tz(environment.TimeZone.format());
它抛出的错误-
TypeError |矩(…)。tz不是一个函数

又一次尝试-

var moment=require('moment-timezone');
log(矩().tz(environment.TimeZone.format());
它抛出的错误-
错误|找不到模块“时刻时区”

我错在哪里?谁能给我指出正确的方向吗


谢谢

邮递员只内置了
时刻
库,而没有
时刻时区

如果你所做的不是
时刻的一部分
文档,那么它就不会起作用

作为获取数据的变通方法,您可以使用简单的第三方API

向该端点发出请求将获得一些可以使用的时区数据

http://worldtimeapi.org/api/timezone/Europe/Rome

这可以添加到
请求前脚本中的
pm.sendRequest()
,以获取所需数据并在另一个请求中使用

pm.sendRequest(“http://worldtimeapi.org/api/timezone/Europe/Rome,函数(err,res){
set(“localTimeRome”,res.json().datetime);
});

实际上,您可以编写一个简单的函数,仅通过
时刻
获取其他时区的本地时间:

const moment = require('moment');

const TimeZoneUTCOffsetMapping = {
  'America/Chicago': -6,
  'Europe/Rome': 2,
  'Asia/Shanghai': 8,
  ...
};

const LocalUTCOffset = 8;

function getMomentDisplayInTimeZone(momentObj, timeZone) {
  let timeZoneUTCOffset = TimeZoneUTCOffsetMapping[timeZone];
  if (timeZoneUTCOffset === undefined) {
    throw new Error('No time zone matched');
  }

  return momentObj.add(timeZoneUTCOffset - LocalUTCOffset, 'hour').format('YYYY-MM-DDTkk:mm:ss');
}

console.log(getMomentDisplayInTimeZone(moment(), 'Europe/Rome'));

谢谢:)提到变通方法,它成功并解决了问题这有一个问题,即当wortime.org处于高负载状态时返回错误页面。变通方法只是一个建议,而不是实际解决方案+1是的,这是我最初认为的,但用例是我们不知道哪个时区将作为输入,无论如何,谢谢你的另一个解决方法,如果我需要的话,我一定会尝试