SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");这里的格式是 4位年 2位月 2位日 2位时 2位分 2位秒 共14位 但是你传入的字符串 只有12位 转换就出错了201104132200变成20110413220000就对了 输入的字符串要和你想要的格式长度神马的都一样才行 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); try { Date date = sdf.parse("20110413111100"); String s = sdf.format(date); System.out.println(s); } catch (ParseException e) { e.printStackTrace(); } 结果:20110413111100