JMeter/时移:使用timeShift获取UTC时间,但不转换为本地时间,例如,${__timeShift(HH:mm,,PT 30 M,,)}

tzdcorbm  于 2022-11-29  发布在  其他
关注(0)|答案(2)|浏览(252)

每当我从Function Helper运行${__timeShift(HH:mm,,PT30M,,)}时,它都会给出CST(我的本地时区)时间
我在弄清楚如何使用timeShift来计算HH:mm值**而不自动将其转换为CST时间时遇到了麻烦。**是否有简单的方法可以做到这一点,或者我是否需要使用JSR223进程来计算UTC值和vars。将其作为变量?
最终目标是在HTTP采样器中使用此值。
我尝试了https://www.perfmatrix.com/jmeter-timestamp/的各种参数组合
我还尝试了一些JSR223进程中的基本时间转换,虽然我对Java和JMeter都是非常陌生的,所以我还没有取得很大的成功。

yc0p9oo0

yc0p9oo01#

您可以使用以下scarry__groovy()函数来实现这一点:

${__groovy(java.time.ZonedDateTime.now(java.time.ZoneId.of("UTC")).plusMinutes(30).format(java.time.format.DateTimeFormatter.ofPattern("HH:mm")),)}

更多信息:The Groovy Templates Cheat Sheet for JMeter

owfi6suc

owfi6suc2#

答案是设置默认时区:
TimeZone.setDefault(TimeZone.getTimeZone('UTC'))
def theTime = ${__timeShift("HH:mm",,PT30M,,)}

相关问题