当前页面: 开发资料首页 → 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);
不晓得可以不??