Postman 如何在邮递员中获取不同时区的本地时间?
我想知道罗马时区的当地时间。在这里的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
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是的,这是我最初认为的,但用例是我们不知道哪个时区将作为输入,无论如何,谢谢你的另一个解决方法,如果我需要的话,我一定会尝试