任何人都可以帮助我在 Java 中转换 DATETIME 函数。我以这种格式“Fri May 18 09:22:39 FJT 2012”从 SMS 标头中检索日期时间格式。我想将其转换为这种格式“2012-05-18 09:51:42.39”。谁能帮忙。
问问题
870 次
3 回答
0
正如@Guillaume 建议的那样,使用SimpleDateFormat。这是一个例子:
public String convert() throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
Date output = format.parse("Fri May 18 09:22:39 FJT 2012");
Calendar outputCal = Calendar.getInstance(format.getTimeZone());
outputCal.setTime(output);
return String.format("%04d-%02d-%02d %02d:%02d:%02d",outputCal.get(Calendar.YEAR), outputCal.get(Calendar.MONTH)+1, outputCal.get(Calendar.DAY_OF_MONTH), outputCal.get(Calendar.HOUR_OF_DAY), outputCal.get(Calendar.MINUTE), outputCal.get(Calendar.SECOND));
}
一切都是硬编码的——你必须根据需要添加参数
于 2012-05-17T22:45:48.150 回答
0
import java.text.SimpleDateFormat;
...
String d = "Fri May 18 09:22:39 FJT 2012";
SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy");
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SS");
outputFormat.setTimeZone(TimeZone.getTimeZone("GMT")); // set yr time zone for output
Date date = inputFormat.parse(d);
System.out.println(outputFormat.format(date));
于 2012-05-17T22:47:36.057 回答
0
为此目的使用SimpleDateFormat 。虽然我不确定 Java 中是否知道时区“FJT”。所以你可能需要为此做一些技巧。
于 2012-05-17T22:07:33.960 回答