Nez*_*zir 13 java android timer subtraction
我在我的项目中使用某种秒表而且我有
start time ex: 18:40:10 h
stop time ex: 19:05:15 h
Run Code Online (Sandbox Code Playgroud)
我需要这两个值的结果 final time = stop - start
我找到了一些例子,但它们都非常令人困惑.
有没有简单的解决方案?
Joh*_*ohn 30
如果您有字符串,则需要使用java.text.SimpleDateFormat将它们解析为java.util.Date.就像是:
java.text.DateFormat df = new java.text.SimpleDateFormat("hh:mm:ss");
java.util.Date date1 = df.parse("18:40:10");
java.util.Date date2 = df.parse("19:05:15");
long diff = date2.getTime() - date1.getTime();
Run Code Online (Sandbox Code Playgroud)
这里diff是18:40:10到19:05:15之间经过的毫秒数.
编辑1:
在线找到了一种方法(http://www.javaworld.com/javaworld/jw-03-2001/jw-0330-time.html?page=2):
int timeInSeconds = diff / 1000;
int hours, minutes, seconds;
hours = timeInSeconds / 3600;
timeInSeconds = timeInSeconds - (hours * 3600);
minutes = timeInSeconds / 60;
timeInSeconds = timeInSeconds - (minutes * 60);
seconds = timeInSeconds;
Run Code Online (Sandbox Code Playgroud)
编辑2:
如果你想把它作为一个字符串(这是一个草率的方式,但它的工作原理):
String diffTime = (hours<10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds) + " h";
Run Code Online (Sandbox Code Playgroud)
编辑3:
如果你想要毫秒只是这样做
long timeMS = diff % 1000;
Run Code Online (Sandbox Code Playgroud)
然后,您可以将其除以1000以获得秒的小数部分.
Thi*_*Roy 13
假设您使用的是java.util.Date:
long totalTime = endDate.getTime() - startDate.getTime();
Run Code Online (Sandbox Code Playgroud)
结果将是以毫秒为单位的总时间.
| 归档时间: |
|
| 查看次数: |
35025 次 |
| 最近记录: |