java吧 关注:1,189,722贴子:12,599,659
  • 4回复贴,共1

通过毫秒数算一下有多少小时 , 然后答案不对 , 求教一下

只看楼主收藏回复

Long seconds = System.currentTimeMillis() ;
//获得从1970年1月1日0点开始到现在的毫秒数
Long day = seconds % ( 1000 * 60 * 60 * 24 ) ;
// 这里是对一天求余 得到了今天0点开始到现在的毫秒数
Date date = new Date( day ) ;
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss") ;
System.out.println( sdf.format( date ) );
//然后用jdk提供的方法得到的时间是没问题的
int h = h( day ) ; // 我自己写的方法计算答案太对
System.out.println( h );
public static int h(Long l) {
int h = 0 ;
long Hseconds = l ;
h = (int) ( Hseconds / 1000 / 60 / 60 ) ;
return h ;
}
请指教一下


IP属地:北京1楼2020-03-23 21:33回复
    答案不是从今天0点到现在有多少个小时么


    IP属地:广西来自Android客户端2楼2020-03-23 22:04
    收起回复
      你这个day 得到的是天数,你在忽悠谁
      你的参数传seconds才是毫秒数
      你的Data date = new Date(day);能得到正确的结果才有鬼


      3楼2020-03-23 22:10
      收起回复