我有一个带有此值的字符串,例如:“20130211154717”我希望它像“2013-02-11 15:47:17”。我怎么能这样做?
答案 0 :(得分:7)
您可以使用两个SimpleDateFormat:一个用于解析输入,另一个用于生成输出:
String input = "20130211154717";
Date d = new SimpleDateFormat("yyyyMMddhhmmss").parse(input);
String output = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d);
System.out.println("output = " + output);
答案 1 :(得分:1)
您可以使用正则表达式:
String formattedDate = plainDate.replaceFirst(
"(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1-$2-$3 $4:$5:$6");
尽管如此,我更喜欢assylias的SimpleDateFormat
答案。 : - )
答案 2 :(得分:0)
您想要使用的是SimpleDateFormat。它有一个名为parse()
的方法答案 3 :(得分:0)
您可以使用substring()
方法获得所需内容:
String data = "20130211154717";
String year = data.substring(0, 4);
String month = data.substring(4, 2);
// etc.
然后将它们串在一起:
String formatted = year + "-" + month + "-" + . . .