我正在编写一个应用程序,我希望将字符串“2011-07-17 08:05:50”转换为“Jul 17 08:05 AM”。有没有直接的方法在Java中做到这一点。我想要输入和输出字符串。如果有办法直接办理,请告诉我。感谢您的时间和帮助。
答案 0 :(得分:3)
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));
}
}
答案 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 );