1

我有一个具有此值的字符串,例如:“20130211154717”我希望它像“2013-02-11 15:47:17”。我怎样才能做到这一点?

4

4 回答 4

8

您可以使用两种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);
于 2013-02-11T17:54:26.580 回答
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回答。:-)

于 2013-02-11T17:54:19.337 回答
0

您要为此使用的是SimpleDateFormat。它有一个名为parse()的方法

于 2013-02-11T17:55:03.890 回答
0

您可以使用该substring()方法来获得您想要的:

String data = "20130211154717";
String year = data.substring(0, 4);
String month = data.substring(4, 2);
// etc.

然后将它们串在一起:

String formatted = year + "-" + month + "-" + . . .
于 2013-02-11T17:55:07.503 回答