如何使用beanshell采样器转换jmeter中的datetime

如何使用beanshell采样器转换jmeter中的datetime,jmeter,beanshell,Jmeter,Beanshell,我有一个http采样器的时间戳,格式如下 Tue Nov 07 10:28:10 PST 2017 11/07/2017 10:28:10 我需要将其转换为以下格式 Tue Nov 07 10:28:10 PST 2017 11/07/2017 10:28:10 我尝试了不同的方法,但不知道我做错了什么。有人能帮我吗。谢谢。这与我的方法非常相似 下面是一个例子: import java.text.DateFormat; import java.text.SimpleDateFormat;

我有一个http采样器的时间戳,格式如下

Tue Nov 07 10:28:10 PST 2017
11/07/2017 10:28:10
我需要将其转换为以下格式

Tue Nov 07 10:28:10 PST 2017
11/07/2017 10:28:10
我尝试了不同的方法,但不知道我做错了什么。有人能帮我吗。谢谢。

这与我的方法非常相似

下面是一个例子:

import java.text.DateFormat;
import java.text.SimpleDateFormat;

String string = "Tue Nov 07 10:28:10 PST 2017";

// Original format to convert from
DateFormat formatFrom = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);

// Target format to convert to
DateFormat formatTo = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.ENGLISH);

// Parse original string, using original format
Date date = formatFrom.parse(string);

// Convert to a target format
String result = formatTo.format(date);

// Just to show the output, not really necessary
log.info(result);
一个问题:由于目标格式忽略了区域,所以将使用计算机的本地区域。例如,对于PST区域的计算机,原始时间
10:28:10 PST
将转换为
10:28:10
,但是对于EST区域的计算机,它将转换为
13:28:10

,这非常类似于

下面是一个例子:

import java.text.DateFormat;
import java.text.SimpleDateFormat;

String string = "Tue Nov 07 10:28:10 PST 2017";

// Original format to convert from
DateFormat formatFrom = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);

// Target format to convert to
DateFormat formatTo = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.ENGLISH);

// Parse original string, using original format
Date date = formatFrom.parse(string);

// Convert to a target format
String result = formatTo.format(date);

// Just to show the output, not really necessary
log.info(result);
一个问题:由于目标格式忽略了区域,所以将使用计算机的本地区域。例如,对于PST区域的计算机,原始时间
10:28:10 PST
将转换为
10:28:10
,但对于EST区域的计算机,原始时间将转换为
13:28:10

,我听说这样给出:

  • Groovy SDK中的类具有
  • 建议使用
  • 您可以在一行Groovy代码中转换日期,如:

    Date.parse("EEE MMM dd HH:mm:ss zzz yyyy", 'Tue Nov 07 10:28:10 PST 2017').format("dd/MM/yyyy HH:mm:ss", TimeZone.getTimeZone('PST'))
    
    演示:

    我听说:

  • Groovy SDK中的类具有
  • 建议使用
  • 您可以在一行Groovy代码中转换日期,如:

    Date.parse("EEE MMM dd HH:mm:ss zzz yyyy", 'Tue Nov 07 10:28:10 PST 2017').format("dd/MM/yyyy HH:mm:ss", TimeZone.getTimeZone('PST'))
    
    演示:


    谢谢Kiril,但我用的是SimpleDateFormat Hanks Kiril,但我用的是SimpleDateFormat