【问题标题】:How to get local time of different timezone in Postman?如何在 Postman 中获取不同时区的当地时间?
【发布时间】:2019-07-02 12:13:09
【问题描述】:

我想获取罗马时区的当地时间。在此处的 postman 文档postman_sandbox_api_reference

中没有找到有关如何使用时刻沙箱内置库的任何详细信息

到目前为止我已经尝试过什么

var moment = require('moment');
console.log(moment().tz(environment.TimeZone).format());

它抛出的错误 - TypeError | moment(...).tz is not a function

又一次尝试-

var moment = require('moment-timezone');
console.log(moment().tz(environment.TimeZone).format());

它抛出的错误 - Error | Cannot find module 'moment-timezone'

我哪里出错了?谁能指出我正确的方向。

谢谢

【问题讨论】:

    标签: postman moment-timezone postman-testcase


    【解决方案1】:

    Postman 仅内置 moment 库,而没有 moment-timezone

    如果您正在做的事情不是 moment 文档的一部分,那么它就不会起作用。

    https://momentjs.com/docs/

    作为获取数据的一种解决方法,您可以使用简单的 3rd 方 API。

    向这个端点发出请求会得到一些你可以使用的时区数据。

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

    这可以添加到pre-request script 中的pm.sendRequest() 以获取您需要的数据并在另一个请求中使用它。

    pm.sendRequest("http://worldtimeapi.org/api/timezone/Europe/Rome", function (err, res) {
        pm.globals.set("localTimeRome", res.json().datetime);
    });
    

    【讨论】:

    • 谢谢 :) 提到解决方法,它有效并解决了问题
    • 这有当worltime.org 高负载时返回错误页面的问题。
    • 解决方法只是一个建议,而不是事实上的解决方案?我敢肯定还有其他 API 可以做类似的工作。
    【解决方案2】:

    其实你可以写一个简单的函数来获取其他时区的当地时间,只有moment

    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'));
    

    【讨论】:

    • +1 是的,我最初是这么想的,但用例是我们不知道哪个时区将作为输入,无论如何感谢另一个解决方法,如果我需要,肯定会尝试
    猜你喜欢
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2013-03-24
    相关资源
    最近更新 更多