javascript - jmeter 将日期从 EST 转换为 UTC

标签 javascript date groovy jmeter utc

我正在处理 API 响应中的日期。来自 API 的日期为 EST。我需要将 EST(技术上是 EDT)日期转换为 UTC,然后与值采用 UTC 格式的另一个 API 响应的日期进行比较

我正尝试在 JMeter 中使用 Javascript 执行此操作。我有一个“BSF 后处理器”作为我的“HTTP 请求”采样器的子项。

我的输入: 结束日期=2014-01-31T23:59:59

我尝试了几个选项,但没有一个能给我带来预期的值(value)。它们都返回到我的调试采样器上作为..

myNewDate=无效日期

dt1=无效日期

vars.put("myendDate", vars.get("endDate"));
var dt = new Date('myendDate');
vars.put("dt1", dt.toUTCString());

var myDate = new Date('${endDate}');
vars.put("myNewDate", myDate.toUTCString());


var myDate = new Date('${endDate}');
myDate.toISOString();
vars.put("myDate1", myDate);

我认为我使用 Javascript 作为语言的 BSF 后处理器在创建 Date 对象时遇到了问题。

有什么意见吗?

最佳答案

将 groovy-all.jar 添加到 jmeter/lib 文件夹

并将 JSR223Sampler 与 Groovy 和编译缓存 key 以及以下代码一起使用:

import java.text.SimpleDateFormat;
import java.util.TimeZone;
import java.util.Date;

SimpleDateFormat estFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
SimpleDateFormat gmtFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
TimeZone gmtTime = TimeZone.getTimeZone("GMT");
TimeZone estTime = TimeZone.getTimeZone("EST"); 
estFormat.setTimeZone(estTime);
gmtFormat.setTimeZone(gmtTime); 
String endDate = vars.get("endDate");
Date endDateAsDate= estFormat.parse(endDate);
vars.put("dt1", gmtFormat.format(endDateAsDate));

然后您可以使用 ${dt1}

关于javascript - jmeter 将日期从 EST 转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18007111/

相关文章:

SQL 查询帮助 : Transforming Dates In A Non-Trivial Way

javascript - XMLHttpRequest/Ajax链接执行位置

date - x 轴上的 Gnuplot 日期/时间

javascript - 单击另一个切换 div 时将图标切换回 "i"元素到原始位置

java - 从日历创建自定义日期对象?

gradle - Gradle:从任务中调用Groovy静态方法

Groovy:如何记住闭包在两次执行之间的变量值?

Eclipse 颜色主题 - Groovy 支持吗?探索者和大纲?

javascript - 将 PHP JSON 编码的数组打印到 JavaScript 并对其进行解码,会产生错误

Javascript:快速而肮脏的空 div 或其他元素