Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从毫秒开始正确格式化时间_Java_Android_Time_Format - Fatal编程技术网

Java 从毫秒开始正确格式化时间

Java 从毫秒开始正确格式化时间,java,android,time,format,Java,Android,Time,Format,我正在安排这样的活动: seconds = System.currentTimeMillis() / 1000; // Something happens here time = System.currentTimeMillis() / 1000 - seconds; 然后我尝试格式化它: String Time = String.format("%d min, %d sec", TimeUnit.MILLISECONDS.toMinutes(time), TimeUnit.M

我正在安排这样的活动:

seconds = System.currentTimeMillis() / 1000;
// Something happens here
time = System.currentTimeMillis() / 1000 - seconds;
然后我尝试格式化它:

String Time = String.format("%d min, %d sec",
    TimeUnit.MILLISECONDS.toMinutes(time),
    TimeUnit.MILLISECONDS.toSeconds(time) -
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(time))); 
结果没有任何意义,分钟是数千,但秒似乎是正常的数字。设置时间的正确方式是什么

long milliseconds = System.currentTimeMillis()%1000;
long seconds = (System.currentTimeMillis()/1000)%60;
long minutes = (System.currentTimeMillis()/(60*1000))%60;
long hours = (System.currentTimeMillis()/(60*60*1000));

省略不需要的部分,并从最高部分中删除模数。

您应该使用
System.currentTimeMillis()
给出的精确值,而不进行任何中间计算,或者在
秒中转换值(已从毫秒转换为秒)以分钟为单位。还要注意,当您两次调用
System.currentTimeMillies()
时,每次的值都会不同。我使用的是
System.currentTimeMillies()
的两个值,因为我想通过使用不同的值来计时。我冒昧地编辑了您的问题,以使问题更加清楚。