针对最近纠结的MySQL数据库和JSP中date类型数据的问题:
一开始界面上显示的date数据格式为:
开始时间为:Tue Mar 20 00:00:00 CST 2012
结束时间为:Wed Nov 30 00:00:00 CST 2016
我上网找了相关转化方法,我的主要目的是将它转化成yyyy-MM-dd格式,网上提供的频率最高的一种方法就是格式化转化,如下:
Date date=new Date();//得到当前日期
System.out.println(date);或者System.out.println(date.toString());
会发现两种方式打印出的结果均是如下格式:
Wed Nov 30 00:00:00 CST 2016
然后使用SimpleDateFormat进行date的格式化:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String newDate=sdf.format(ro.getStartTime());
此时执行:System.out.println(newDate);
你会发现打印出来的格式是:
2012-09-27
有点小兴奋是不是~
但是String类型和我的java bean类型没对应,所以接下来继续了,想将他转化成Date,即:
Date newDate2=sdf.parse(newDate);
System.out.println(newDate2);或者
System.out.println(newDate2.toString());
这下想应该没什么问题了,但是。。。输出结果:
Thu Sep 27 00:00:00 CST 2012
一下懵逼了…是不是~
但是我就是不信,我想过将java bean中date类型的数据改成String类型,这样就不用这么麻烦了,确实是,但是毕竟这么多天,还是相当不甘心啊,所以我坚信换一种搜索方式,一定会有大牛告诉我答案,果然今天在一片优快云上看到一句话,某大牛说:DATE本身并没有什么格式可说,输出
Thu Sep 27 00:00:00 CST 2012
这种方式的输出只是date默认的一种格式,所以终于明白为什么什么格式的数据转化成date类型之后出来的都是同一种格式,我的天,这就是自己费尽洪荒之力找到的结果,虽然还是走向了用Sting类型的路,但是还是不一样的,这时候使用Sring类型只在界面显示的时候进行转化,其他时间还是以date类型存储,接下来就得考虑怎么和页面传来的日期进行比较的问题了!!!!!!!!