import java.text.SimpleDateFormat;
public class aaa {
    public static void main(String[] args) throws Exception {
    String value = "1900-01-01 8:00:00";
    long iii = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(value).getTime();
    java.sql.Timestamp xx = new java.sql.Timestamp(iii);
    System.out.println(xx.toString());
}
输出结果1900-01-01 08:05:52
相差了5:52秒经试验发现1900-01-01 8:00:00 至 8:00:05 会相差5:52 , 其他日期时间无误。为什么?难道是jdk的bug ,望大侠指点!!不甚感激

解决方案 »

  1.   

    时区的问题
    new SimpleDateFormat("yyyy-MM-dd",Locale.CHINA)好像是这样,你查一下jdk帮助吧
      

  2.   

    好象是bug
    "1900-01-01 08:00:00"~~~"1900-01-01 08:05:51" 计算不正常!
      

  3.   

    那就是说这是jdk1.4版本的一个bug???
    哪位大虾给个解释啊
      

  4.   

    我用的是jdk1.5,也有同样的问题
      

  5.   

    1900-01-01 08:00:00 ~ 1900-01-01 08-05-51 这之间的时刻点(以秒为最小单位)都会出现多出 5分52秒的问题。将SimpleDateFormat的默认时区打印出来(sdf.getTimeZone().getID()),发现是 Asia/Shanghai。如果重新设置SimpleDateFormat的时区,则不会出现多出5分52秒的问题。
      

  6.   

    Java里的时间是从1970年开始的
      

  7.   

    Timestamp类型不支持1970年之前的时间