Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jmeter-未来时间戳_Java_Jmeter - Fatal编程技术网

Java Jmeter-未来时间戳

Java Jmeter-未来时间戳,java,jmeter,Java,Jmeter,我试图在Jmeter中创建一个参数,给出当前时间戳+5分钟。有人知道怎么做吗?为了生成当前的时间戳,我有这样一个:${uuu time(HH:mm:ss,timestamp)}我担心该函数没有提供足够的灵活性。您需要通过以下方式计算此日期值: 相关的Beanshell代码如下所示 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; Date now = new Date();

我试图在Jmeter中创建一个参数,给出当前时间戳+5分钟。有人知道怎么做吗?为了生成当前的时间戳,我有这样一个:${uuu time(HH:mm:ss,timestamp)}

我担心该函数没有提供足够的灵活性。您需要通过以下方式计算此日期值:

相关的Beanshell代码如下所示

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

Date now = new Date(); // get current time
Calendar c = Calendar.getInstance(); // get Java Calendar instance
c.setTime(now); // set Calendar time to now
c.add(Calendar.MINUTE, 5); // add 5 minutes to current time
Date now_plus_5_minutes = c.getTime(); // get Date value for amended time
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); // create a formatter for date       
String mydate = sdf.format(now_plus_5_minutes); // format date as string
vars.put("mydate",mydate); // save date to JMeter variable named "mydate"
您可以将该
mydate
值引用为

  • ${mydate}
  • ${uuu V(mydate)}
在你需要提供更新日期的地方


希望这有帮助

必须使用,但对于未来日期,以天为单位:

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

    Date date = new Date(); 
    date.setDate(date.getDate()+5); 
    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
    // or: SimpleDateFormat df = new SimpleDateFormat("MM-dd-yyyy"); 
    String formattedDate = df.format(date); 
    vars.put("myFutureDate",formattedDate); 
上面的代码块应该放入Beanshell预处理器中

在适当的地方调用可变日期-

${myFutureDate} 

您可以使用_javaScript命令作为参数。这将为您提供自epoch以来的时间戳(以秒为单位)

${uu javaScript(Math.floor((Date.now()+(5*60*1000))/1000))}


的示例我建议以下是一个单线解决方案:

${__groovy(use(groovy.time.TimeCategory) { (new Date() + 5.minutes).format('yyyyMMddHHmmssSSS') })}
时间偏移量基于Groovy的
TimeCategory
,非常易于阅读和使用(例如,您可以将
5.minutes
替换为
1.day
左右)

与Dmitri和Eugene的答案相比,上面的解决方案要短得多,不需要定义任何额外的配置,并且每次都进行评估(因此可以在JMeter脚本中多次使用)

不建议在JMeter中使用Richard答案中的JavaScript:

Groovy在日期操作(由于
TimeCategory
)和日期格式方面也更好

在JMeter 3.2上测试

您可以使用该功能进行此测试

${__timeShift(HH:mm:ss,,P5M,,)}
有两种简单的方法 使用Bean shell预处理器:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
int AddSeconds= 00; //this variable needs to be customized as per your need
int AddMinutes= 32; //this variable needs to be customized as per your need
int AddHours= 06; //this variable needs to be customized as per your need
 Date now         = new Date();
Calendar c       = Calendar.getInstance();
c.setTime(now);
c.add(Calendar.SECOND, AddSeconds);
c.add(Calendar.MINUTE, AddMinutes);
c.add(Calendar.HOUR,   AddHours);
Date NewTime        = c.getTime();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String mytime       = df.format(NewTime);

vars.put("NewTime",mytime);

第二种方式是:“${uu timeShift(yyy-MM-dd'HH:MM:ss.SSS'Z',PT393M,,)”

第二种方式是:“${uu timeShift(yyy-MM-dd'HH:MM:ss.SSS'Z',PT393M,,)”,请将第二种方式编辑到您的答案中。