为了账号安全,请及时绑定邮箱和手机立即绑定

Java/Jmeter 将 15 秒添加到 epoch

Java/Jmeter 将 15 秒添加到 epoch

阿晨1998 2021-10-27 10:44:50
因此,我尝试使用以下代码为我收集的纪元时间添加 15 秒:import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;Calendar cal = Calendar.getInstance();cal.setTime(new Date());long now = cal.getTimeInMillis();cal.add(Calendar.SECONDS, 15);long then = cal.getTimeInMillis();long secondsFromEpoch = (then + now) / 1000;vars.put("secondsFromEpoch",seoncdsFromEpoch);我尝试使用 Jmeter 中的 JSR223 预处理器来做到这一点,我也尝试过 Beanshell 预处理器。我在 Jmeter 内部使用的代码中创建的变量没有返回任何结果。这让我认为代码有问题。我写的东西有什么明显不正确的地方吗?或者我可以采取另一条路线来获得以秒 + 15 秒为单位的纪元时间?
查看完整描述

3 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

您可以java.time.Instant从收集时间开始创建实例:


Long epochMillisYouCollected = ...

Instant instant = Instant.ofEpochMilli(epochYouCollected);

然后加上 15 秒并从纪元返回秒数:


long secondsSinceEpoch = instant.plusSeconds(15).getLong(ChronoField.INSTANT_SECONDS);


查看完整回答
反对 回复 2021-10-27
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

首先,你知道__timeShift() 函数吗?您可以将 15 秒添加到当前时间戳并将其存储到一个变量中,就像${__timeShift(,,P15S,,secondsFromEpoch)}


如果出于任何原因您想继续编写脚本,则您的代码存在(至少)4 个问题:


我的期望是您应该更改Calendar.SECONDS为Calendar.SECOND

您的变量名称不相同,即在您拥有的一个地方secondsFromEpoch,在另一个地方seoncdsFromEpoch

您不能使用Long作为vars.put()函数的参数,请执行以下操作之一:


vars.put("secondsFromEpoch",String.valueOf(secondsFromEpoch));

或者


vars.putObject("secondsFromEpoch", secondsFromEpoch);

您正在使用 Beanshell,而从 JMeter 3.1 开始,您应该使用 Groovy。等效的 Groovy 代码类似于:


use (groovy.time.TimeCategory) {

    def plus15seconds = new Date() + 15.seconds

    vars.put('secondsFromEpoch', plus15seconds.getTime() as String)


查看完整回答
反对 回复 2021-10-27
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

时间

我相信你在追求

    long secondsFromEpoch = Instant.now().plusSeconds(15).getEpochSecond();

什么地方出了错?

您要添加两个毫秒值,这两个值都是从 1970 年开始计算的。这是没有意义的,并且让你在未来的时间大约是今天的两倍。当我刚刚运行你的代码时,我得到了 3 077 271 068 秒,根据 Epoch Unix Time Stamp Converter 等于 07/07/2067 @ 1:31pm (UTC)。

我建议你不要使用过时的课程

你正在使用的日期和时间类- SimpleDateFormatCalendarDate-不仅早已过时,他们也有设计上的问题,特别是第一是出了名麻烦。我建议您避免所有这些并使用 java.time 代替。


查看完整回答
反对 回复 2021-10-27
  • 3 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号