Jmeter获取时间
一、BeanShell实现
1、获取过去和未来时间
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; try{ Date date =new Date(); //获取当前时间 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String nowDate = sf.format(date); Calendar cal = Calendar.getInstance(); cal.setTime(sf.parse(nowDate)); cal.add(Calendar.MINUTE,+5); //获取后5分钟时间 //cal.add(Calendar.DATE,+1); //后一天
//cal.add(Calendar.DATE,-30); //前30天 String datetime = sf.format(cal.getTime()); vars.put("datetime",datetime); } catch(Exception e){ }
2、获取当前月第一天
import java.text.SimpleDateFormat; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //获取当前月第一天: Calendar c = Calendar.getInstance(); c.add(Calendar.MONTH, 0); c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 String first = format.format(c.getTime()); //log.info("===============first:"+first); vars.put("first",first);
二、函数助手__time
${__time(,)} 获取Unix时间戳
${__time(yyyy-MM-dd HH:mm:ss,)} 获取当前时间,年月日时分秒
${__time(yyyy-MM-dd,)} 获取当前时间,年月日
三、函数助手__timeShift
${__timeShift(yyyy-MM-dd HH:mm:ss,,P30D,,)} 获取30天后日期
${__timeShift(yyyy-MM-dd HH:mm:ss,,-P10D,,)} 获取10天前日期
${__timeShift(yyyy-MM-dd HH:mm:ss,,-PT30M,,)} 获取30分钟前时间
${__timeShift(yyyy-MM-dd HH:mm:ss,,PT6H30M,,)} 获取6小时30分后时间