关于java日期差的转换问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于java日期差的转换问题

1 . 为什么日期转换要乘以 1000 呢 ? 是什么意思 ?

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dataTime = "";
                try {
                    String thisDate = df.format(new Date());
                    long beforeTime = df.parse(dates).getTime();
                    long thisTime = df.parse(thisDate).getTime();
                    long l = thisTime - beforeTime;
                    //天
                    long day = l / (24 * 60 * 60 * 1000);
                    //时
                    long hour = (l / (60 * 60 * 1000) - day * 24);
                    //分
                    long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
                    //秒
                    long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
                    dataTime = String.valueOf("" + day + "天" + hour + "小时" + min + "分" + s + "秒");

其中 24小时 , 60分钟 60秒 ,为什么还要乘以 1000 . ?现在计算出某天某时某分某秒, 该怎么计算出某月某天某小时某分某秒 ?

展开
收起
蛮大人123 2016-03-11 16:02:37 2013 0
2 条回答
写回答
取消 提交回答
  • 蛮大人123
    我说我不帅他们就打我,还说我虚伪

    因为 new Date().getTime() 得到的long型时间单位是毫秒.

    2019-07-17 18:59:29
    赞同 展开评论 打赏
  • 鸥洋

    乘以1000是因为Date#getTime返回的是毫秒数
    你这是算时间差,转到某月某天某小时某分某秒是不是就按30天一月来换算就行?

    2019-07-17 18:59:29
    赞同 展开评论 打赏
问答分类:
问答标签:
相关产品:
问答排行榜
最热
最新
相关电子书
更多
JAVA 应用排查全景图
立即下载
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载