我似乎无法转换从JSON中提取的日期(1488520800000),并将变量放入格式化日期(2017-03-02)。这是我的代码:
import java.text.*;
import java.util.*;
SimpleDateFormat source = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
SimpleDateFormat target = new SimpleDateFormat("yyyy-MM-dd");
Date date = source.parse(vars.get("varReviewDatevalue"));
String newDate = target.format(date);
vars.put("varFormattedReviewdateValue",newDate);
这是我得到的错误:
ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.text.*; import java.util.*; log.info("value for variable: 14885208 . . . '' : Typed variable declaration : Method Invocation source.parse
奇怪的是,我得到了类似的代码,可以在2017年3月2日的提取日期中正常工作。我无法弄清楚为什么工厂代表的日期没有转换为日期。有什么想法吗?
答案 0 :(得分:1)
我使用了错误的jmeter元素。这篇文章帮助了我很多:JMeter: Converting extracted time stamp value to date format
我将此代码放入JSR223采样器中,一切正常
import java.text.*;
long timeStamp = Long.parseLong(vars.get("varReviewDatevalue"));
Date date = new Date(timeStamp);
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
TimeZone tzInAmerica = TimeZone.getTimeZone("America/Denver");
formatter.setTimeZone(tzInAmerica);
String dateFormatted = formatter.format(date);
vars.put("varFormattedReviewdateValue", dateFormatted);
log.info(dateFormatted);
log.info(vars.get("varFormattedReviewdateValue"));