站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题已知自1970年的毫秒数(double类型),怎么转换为日期?

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

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


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



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




谢谢楼上的,不过我不是想把系统当前时间格式化输出,我现在有个double类型的数据,想把它转化为时间格式的看一下。。。


PS:这个double类型数据是通过POI读取Excel的日期(7月12日)得到的,不知道怎么来处理这个数据,在excel表里面是7月12日,但是读出来却是38740.0,怎么处理这个数据,能让它显示回时间格式?


标记!~~


首先搞清楚38740.0这个东东怎么来的。是啥意思!
毫秒?


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


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


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


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


Double.getLong


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


不晓得可以不??


↑返回目录
前一篇: 高手才进来,ServerSocket传送字节丢失的问题
后一篇: 一直未得到解决的笔试题目