当前位置 :
计算机时间时为什么要先除后乘,例如t=t/(1000*3600*24)*(1000*3600*24),除完再乘不是相当于什么都没如下列代码importjava.sql.Timestamp;importjava.text.SimpleDateFormat;importjava.util.TimeZone;publicclassTest
更新时间: 2025-08-24 10:18:31
1人问答
问题描述:

计算机时间时为什么要先除后乘,例如t=t/(1000*3600*24)*(1000*3600*24),除完再乘不是相当于什么都没

如下列代码

import java.sql.Timestamp;

import java.text.SimpleDateFormat;

import java.util.TimeZone;

public class Test {

 public static void main(String[] args) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

long t = System.currentTimeMillis();

t = t / (1000 * 3600 * 24) * (1000 * 3600 * 24);

System.out.println(sdf.format(new Timestamp(t)));

t = System.currentTimeMillis();

t = t / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset();

System.out.println(sdf.format(new Timestamp(t)));

 }

}

我不明白关于t的计算,除以再乘以,不是相当于什么也没有做吗?

t = t / (1000 * 3600 * 24) * (1000 * 3600 * 24);

申立群回答:
  我想,如果t可能本身并不能被1000 * 3600 * 24整除,所以先除后乘其实起了一个取整去余的作用.例如这里t表示毫秒,那么除以了1000 * 3600 * 24得到天数,但是可能不是整数天,但是因为t是long型,那么小数部分没有了,再去乘以1000 * 3600 * 24,就变成整数天数所对应的毫秒了.
最新更新
保卡通(baokatong.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright©2009-2021 保卡通 baokatong.com 版权所有