题目
计算机时间时为什么要先除后乘,例如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);
如下列代码
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);
提问时间:2021-03-26
答案
我想,如果t可能本身并不能被1000 * 3600 * 24整除,所以先除后乘其实起了一个取整去余的作用.例如这里t表示毫秒,那么除以了1000 * 3600 * 24得到天数,但是可能不是整数天,但是因为t是long型,那么小数部分没有了,再去乘以1000 * 3600 * 24,就变成整数天数所对应的毫秒了.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
热门考点
- 1平面输送500米,流量200立方米/小时,应选用多大的潜水泵,多大的水管
- 2第一宇宙速度是同步卫星环绕速度为什么错误?第一宇宙速度是近地圆形轨道上卫星的运行速度为什么错误?第一宇宙速度与地球自转速度不相等吗?不都是根号下gr吗?
- 3what kind of shirt do you like什么意思并回答
- 4判断英语句子的对错
- 5如果天气温度到50度会热死人吗?
- 6找规律用代数式表达
- 7一道非常实际的数学题
- 8怎么样才能把一些事,一些感受很好的写出来,更加详细的表达出来.
- 9一套西服原价360元,按七五折出售,售价为多少元?
- 10从1开始把自然数依次写下去得到12345678910111213141516...,从第12个数字起,首次出现5个连排2.