解析具有整数值的字符串到目前为止

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

您可以使用两个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); 

您可以使用正则表达式:

 String formattedDate = plainDate.replaceFirst( "(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3 $4:$5:$6"); 

虽然,我更喜欢assylias的SimpleDateFormat答案。 🙂

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

您可以使用substring()方法获得所需内容:

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

然后将它们串在一起:

 String formatted = year + "-" + month + "-" + . . .