java 字符串转日期 DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.parse("1999-10-01")

使用了上面两句代码后得到的结果
Fri Oct 01 00:00:00 CST 1999
依然是这种不是我想要的,请问高手有好的解决方法吗

已经转换成功!
只是你再按系统的默认格式显示出来而已!

日期类型的本身是没有显示格式的。

你想换成别的格式的字符串,可以看String.format()这个方法,初看会觉得挺复杂的,看懂了就简单了。追问

String的这个方法没用,因为我要的是Date类型不是String

追答

Date 本质是Long类型,是不会有显示的格式的,老板。

追问

是这样的,我有一个
private Date birthday;
public void setBirthday(Date birhtday){}
这么个方法,里边要的是Date类型啊,所以我才要转成Date的

追答

你已经转换成功了!

sdf.parse("1999-10-01") 得到 Fri Oct 01 00:00:00 CST 1999

追问

SQLException:无效的列类型.....

追答

那是SQL语句的写法问题了

sdf.parse("1999-10-01") 得到 Fri Oct 01 00:00:00 CST 1999
如果要再显示格式,就再用 sdf.format(birthday); 就又成了 "1999-10-01" 。Date 类型,要显示出来,才有格式的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-14
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse("1999-10-01");
DateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
String d = sdf2.format(date);
第2个回答  2012-12-14
你想要什么格式呢?上面的代码只是把一个字付串转换成日期 Date,

如果想转换成其他格式,需要重新Format的。比如想转换成1999/10/01

DateFormat df = new SimpleDateFormat('yyyy/MM/dd');
df.format(sdf.parse("1999-10-01"))追问

我想要的是Date类型

第3个回答  2012-12-14
Date date = new Date("Fri Oct 01 00:00:00 CST 1999");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(date));
这个可以...
第4个回答  2012-12-14
sdf.format(new java.util.Date());
sdf.format(sdf.parse("1999-10-01"));
相似回答