开发者社区> 问答> 正文

关于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 2189 0
2 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

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

    2019-07-17 18:59:29
    赞同 展开评论 打赏
  • 乘以1000是因为Date#getTime返回的是毫秒数
    你这是算时间差,转到某月某天某小时某分某秒是不是就按30天一月来换算就行?

    2019-07-17 18:59:29
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载