在 JMeter 中,将日期字符串(如 2025-06-07 00:00:00)转换为时间戳(毫秒级),可以使用以下两种方法

在 JMeter 中,将日期字符串(如 `2025-06-07 00:00:00`)转换为时间戳(毫秒级),可以使用以下两种方法:

---方法 1:使用 **`__groovy`** 函数(推荐 ✅)

java

${__groovy(

new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2025-06-07 00:00:00").getTime(),

)}

  • **优点**:精确可靠,直接使用 Java 的日期解析能力。

  • **说明**:

  • `SimpleDateFormat` 指定日期格式(`yyyy-MM-dd HH:mm:ss`)。

  • `parse()` 将字符串解析为 `Date` 对象。

  • `getTime()` 获取时间戳(毫秒)。

---方法 2:使用 **`__javaScript`** 函数(需注意时区 ⚠️)

```javascript

${__javaScript(

new Date("2025-06-07T00:00:00").getTime(), // 使用 "T" 替换空格,按 UTC 解析

)}

```或(显式指定 UTC):```javascript

${__javaScript(

new Date("2025-06-07T00:00:00Z").getTime(), // 末尾加 "Z" 表示 UTC

)}

```

  • **注意事项**:

  • 必须将空格替换为 `T`(ISO 8601 格式)。

  • 默认按 **UTC 时区** 解析(末尾加 `Z` 可显式声明 UTC)。

  • 如果需按本地时区解析,需额外处理(不推荐,可能不一致)。


使用示例

  1. **在 JMeter 脚本中直接调用**:

```java

// 使用 __groovy(结果:1749254400000)

${__groovy(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2025-06-07 00:00:00").getTime())}

```

  1. **存储为变量**:

```java

// 将时间戳存入变量 timestamp

{__setVar(timestamp, {__groovy(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2025-06-07 00:00:00").getTime())})}


时区说明

  • **`__groovy` 方法**:默认使用 JMeter 运行环境的本地时区(可通过 `TimeZone` 参数调整)。

  • **`__javaScript` 方法**:**默认按 UTC 解析**(使用 `T` 和 `Z` 确保一致性)。

> 💡 建议优先使用 `__groovy`,避免时区歧义。如需严格 UTC 时间,可在 `SimpleDateFormat` 中设置时区:

> ```java

> ${__groovy(

> def sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

> sdf.setTimeZone(java.util.TimeZone.getTimeZone("UTC"));

> sdf.parse("2025-06-07 00:00:00").getTime(),

> )}

> ```

相关推荐
财神爷首席大弟子1 天前
jmeter做跨线程组
jmeter
程序媛_1 天前
【JMeter】跨线程组传递参数
jmeter
测试杂货铺8 天前
Jmeter(六):json断言元件,jmeter参数化实现
jmeter·json
Moshow郑锴20 天前
JMeter API 并发性能测试计划JMX文件解析
jmeter
qq_49244844620 天前
java项目打包成jar包,并给jmeter使用
java·jmeter·jar
kanyun12321 天前
Jmeter使用过程中的一些总结
jmeter
無_爲21 天前
JavaEE:使用JMeter进行接口并发测试
java·jmeter·java-ee
cllsse22 天前
jmeter学习
jmeter
明月与玄武22 天前
JMeter 高阶玩法:分布式压测的技术核心技术要点
jmeter·分布式压测