我正在编写一个应用程序,我想将字符串"2011-07-17 08:05:50"转换为"Jul 17 08:05AM"。在Java中有直接的方法吗?我希望输入和输出都是字符串。请让我知道是否有办法直接做。感谢您的宝贵时间和帮助。
使用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));
}
}
参考。
请告诉我是否有直接的方法。
没有办法直接做。您必须使用日期解析器解析原始字符串,然后使用日期格式化器以所需的格式创建一个新字符串。
您的选择是使用SimpleDateFormatter
来解析和格式化,或使用等效的JodaTime类;例:DateTimeFormatter
.
没有"直接"的方法可以做到这一点。您必须使用SimpleDateFormat
将第一个字符串解析为Date
对象,然后使用另一个将其作为第二个字符串写回来。
Date date = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).parse( inputString );
String outputString = new SimpleDateFormat( "MMM dd HH:mmaa" ).format( date );