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

cp_baotu 2006-09-08 10:02:22
已知自1970年的毫秒数(double类型),怎么转换为日期?
...全文
1475 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
freedom2001 2006-09-08
  • 打赏
  • 举报
回复
补充一下,那个秒必须用long,settime里的参数是long型的,double的不认会报错
freedom2001 2006-09-08
  • 打赏
  • 举报
回复
我试了一下可以这样用
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秒
cocogg 2006-09-08
  • 打赏
  • 举报
回复
肯定不是与1970年的毫秒数
如果是:
Date date= new Date(12354);
cocogg 2006-09-08
  • 打赏
  • 举报
回复
首先搞清楚38740.0这个东东怎么来的。是啥意思!
毫秒?
huhuan107 2006-09-08
  • 打赏
  • 举报
回复
标记!~~
cp_baotu 2006-09-08
  • 打赏
  • 举报
回复
谢谢楼上的,不过我不是想把系统当前时间格式化输出,我现在有个double类型的数据,想把它转化为时间格式的看一下。。。


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

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);

tanp520 2006-09-08
  • 打赏
  • 举报
回复
不晓得可以不??
tanp520 2006-09-08
  • 打赏
  • 举报
回复
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);
eqxu 2006-09-08
  • 打赏
  • 举报
回复
Double.getLong
sundeveloper 2006-09-08
  • 打赏
  • 举报
回复
想办法,将Double的转成Long的,,
再new Date(lon)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧