Date date = new Date();
String s = "1988-4-10 00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = sdf.parse(s);
System.out.println(date);执行结果:Sun Apr 10 01:00:00 CST 1988别的日期小时分钟都是00:00:00,为什么单单这个日期是01:00:00。更奇怪的是在数据库读出来后有成了
Sat Apr 09 23:00:00 CST 1988少了一个小时

解决方案 »

  1.   

    传说中的夏令时问题,参见:
    http://blog.csdn.net/java2000_net/article/details/4362316
      

  2.   

    奇怪的是再从数据库读出来之后又成了Sat Apr 09 23:00:00 CST 1988,因为要显示客户生日,只显示年月日,在页面上就成了1988-4-9.很郁闷软件环境: LINUX+BEA WorkShop+Weblogic10+Oracle 9i
    系统架构: Bea Portal + Beehive JPF + Spring 2+ iBatis 2+ Webservice
      

  3.   


    估计是,数据库处理夏令时的方式跟Java不一样,所以悲剧了。既然是生日,考虑全设置为中午12点好了。