我在JMeter中使用正则表达式变量捕获了大约10K的开始和结束时间戳,但它们是 UTC格式,如下所示'2016-06-24T18:25:03.621Z'
。我需要计算这些时间戳之间的持续时间。
如果有人能为我提供线索,我感激不尽?
答案 0 :(得分:2)
您可以将ISO 8601 dates(就像您提供的那样)转换为使用Unix epoch Beanshell Test Elements开始后的毫秒数和以下代码:
import javax.xml.bind.DatatypeConverter;
vars.put("old_date", "2016-06-24T18:25:03.621Z");
Calendar cal = DatatypeConverter.parseDateTime(vars.get("old_date"));
Date new_date = cal.getTime();
long new_date_ms = new_date.getTime();
log.info("Date in milliseconds: " + new_date_ms);
演示:
对long值执行算术运算非常简单,例如:
long date1 = //code to convert ISO 8601 date to long as above
long date2 = //the same for date2
long delta = date2 - date1; //calculate the difference
vars.put("delta", String.valueOf("delta")); // store the result into a JMeter Variable