java中怎么把一个字符串中的数字抽出来转化成日期格式

从jsp接收的时间的格式为“2013年1月1日”,怎么在接收它的Servlet中将该字符串转化为“2013-01-01”格式?

可以直接通过SimpleDateFormat 中的parse方法进行日期格式转换。
String dateTime = “2005-06-09 12:20:32”;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format .parse(dateTime);
输出结果:“2015-06-09”。
备注:字符串必须符合日期类型的定义,否则会直接转换报错。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-09
String str = "2013年1月1日";
System.out.println(str.replaceAll("[\u4e00-\u9fff]", "-").substring(0, str.length() - 1));


String str = "2013年1月1日";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
try
{
System.out.println (sdf2.format (sdf.parse (str)));
}
catch (ParseException e1)
{}

本回答被提问者采纳
第2个回答  2014-04-09
先用parse转成date型,再用format转成string。

public static void main(String[] args) throws Exception{
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
System.out.println(now);
}