使用Java中的日期格式将字符串转换为字符串?

时间:2011-07-17 00:30:15

标签: java datetime

我正在编写一个应用程序,我希望将字符串“2011-07-17 08:05:50”转换为“Jul 17 08:05 AM”。有没有直接的方法在Java中做到这一点。我想要输入和输出字符串。如果有办法直接办理,请告诉我。感谢您的时间和帮助。

3 个答案:

答案 0 :(得分:3)

使用SimpleDateFormat

public class Main {
  public static void main(String[] args) throws Exception {
      SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
      Date date = sdfSource.parse("2011-07-17 08:05:50");
      SimpleDateFormat sdfDestination = new SimpleDateFormat("MMM dd hh:mma");
      System.out.println(sdfDestination.format(date));
  }
}

Reference

答案 1 :(得分:1)

  

如果有办法直接办理,请告诉我。

没有办法直接这样做。您必须使用日期解析器解析原始字符串,然后使用日期格式化程序以您希望的格式创建一个新字符串。

您的选择是使用SimpleDateFormatter来解析和格式化,或使用等效的JodaTime类;例如DateTimeFormatter

答案 2 :(得分:0)

没有“直接”的方法来做到这一点。您必须使用SimpleDateFormat将第一个字符串解析为Date对象,而将另一个字符串解析为第二个字符串。

Date date = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).parse( inputString );
String outputString = new SimpleDateFormat( "MMM dd HH:mmaa" ).format( date );