我的http采样器的时间戳采用以下格式
Tue Nov 07 10:28:10 PST 2017
我需要将其转换为以下格式
11/07/2017 10:28:10
我尝试了不同的方法,但不知道我做错了什么。任何人都可以帮助我。谢谢。
答案 0 :(得分:2)
它与how you'd do it in Java非常相似。
以下是一个例子:
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
答案 1 :(得分:0)
我听到Groovy is the new black所以给出了:
您可以在一行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'))
演示: