如何在jmeter中使用JavaScript删除ISO日期的最后几个字符?[副本]

iovurdzv  于 12个月前  发布在  Java
关注(0)|答案(3)|浏览(89)

此问题已在此处有答案

Remove last 3 characters of string or number in javascript(4个答案)
28天前关闭
此帖子于27天前编辑并提交审核,未能重新打开帖子:
原始关闭原因未解决
我想在JMeter中创建一个动态日期变量。在Jmeter - get current date and time中的响应之后,我发现以下工作:
${__javaScript(new Date(new Date().setMonth(new Date().getMonth()+6)).toISOString())}
它将这个变量的值设置为未来6个月。完美了
问题是,我需要这个日期的格式是:2024-03-21T10:10:10
但是上面的行会导致:2024-03-21T20:54:55.386Z
我需要去掉最后几个字符,但我不知道如何在一行中处理。
使用子串或切片是理想的,但它不起作用。结果为空白。我想我用错语法了。考虑到我不能在日期上使用子字符串,我试图将其 Package 到new String中,但这也不能修复它。
比如说,
${__javaScript(new String(new Date(new Date().setMonth(new Date().getMonth()+6)).toISOString()).substring(0,18))}
我做错了什么?

  • 如果有人想建议使用timeShift JMeter功能,我还不能升级我的JMeter版本,因为其他原因,所以我需要使用2.13版本中的功能。我希望有一种方法可以通过其他方式实现这一点,例如使用JavaScript。

更新:这是我最终发现的。
下面的工作就像一个魅力:
${__javaScript( new Date(new Date().setMonth(new Date().getMonth()+6)).toISOString().split('.')[0])}

ajsxfq5m

ajsxfq5m1#

使用splitjoin

var date = new Date()
var dateString = date.toISOString()
var shortDate = dateString.split('.')[0]

console.log(shortDate) // 2023-09-21T22:29:56
e1xvtsh3

e1xvtsh32#

试试这个

const date = new Date();
const isoDate = date.toISOString();
const dateOnly = isoDate.substring(0, 10);

console.log(dateOnly); // e.g., Outputs: 2023-09-21
a9wyjsp7

a9wyjsp73#

我对jmeter一无所知,但这会有用吗?

${__javaScript(new Date(Date.now() + 182 * 24 * 60 * 60 * 1000).toISOString().substring(0, 18))}

相关问题