已知自1970年的毫秒数(double类型),怎么转换为日期?

解决方案 »

  1.   


    Date date= new Date();
    date.getTime();
    SimpleDateFormat sdf = new SimpleDateFormat("",Locale.CHINESE);
    sdf.applyPattern("yyyy年MM月dd日_HH点mm分ss秒");
    String timeStr = sdf.format(date); 
      

  2.   

    谢谢楼上的,不过我不是想把系统当前时间格式化输出,我现在有个double类型的数据,想把它转化为时间格式的看一下
    PS:这个double类型数据是通过POI读取Excel的日期(7月12日)得到的,不知道怎么来处理这个数据,在excel表里面是7月12日,但是读出来却是38740.0,怎么处理这个数据,能让它显示回时间格式?
      

  3.   

    肯定不是与1970年的毫秒数
    如果是:
    Date date= new Date(12354);
      

  4.   

    我试了一下可以这样用
    SimpleDateFormat sdf = new SimpleDateFormat("",Locale.SIMPLIFIED_CHINESE);
    sdf.applyPattern("yyyy年MM月dd日_HH时mm分ss秒");//设置日期显示格式
    Date date0 = new Date();
    long test = 1157688046;//这个表示秒数,这里如果直接用*1000的毫秒会越界,所以用秒
    date0.setTime(test*1000);//因为settime的时候需要使用毫秒数,所以要用秒*1000
    String dateStr1 = sdf.format(date0);
    System.out.println("******"+dateStr1);
    显示结果为:
    ******2006年09月08日_12时00分46秒
      

  5.   

    补充一下,那个秒必须用long,settime里的参数是long型的,double的不认会报错
      

  6.   

    想办法,将Double的转成Long的,,
    再new Date(lon)
      

  7.   

    Double aa=38740.0;
    long a=(long)aa;
    Date date=new Date(a);
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");//时间格式,可以自己修改
    String time = sdf.format(date);