如何使第一个日期的日期格式与其他日期相同

时间:2017-01-31 07:48:58

标签: simpledateformat date-formatting

我试图转换日期格式。例如,我有两种格式:

Format1 REPLACE(string, ' ', ' ') -> 2 whitespaces to 1 REPLACE(string, ' ', ' ') -> 3 whitespaces to 1 and so on..

Format2 Tue, 31 Jan 2017 07:41:06 GMT

有没有办法将Format1转换为与Format2相同,反之亦然?提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用两个单独的格式化程序进行输入和输出:

SimpleDateFormat inputFormatter =
  new SimpleDateFormat("E, d MMM yyyy HH:mm:ss z", Locale.ENGLISH);
SimpleDateFormat outputFormatter =
  new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
outputFormatter.setTimeZone(TimeZone.getTimeZone("GMT"));
String converted = 
  outputFormatter.format(
    inputFormatter.parse("Tue, 31 Jan 2017 07:41:06 GMT"));
System.out.println(converted);
// output: 2017-01-31T07:41:06.000

使用新类DateTimeFormatter可以在Java-8中实现类似的方法。