I have a button named Check In
. My aim is on click to change the text and start counting the time. The timer has to stop at the next click. It should give the time taken between the two button clicks.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
On the first click create a variable:
long startTime = System.currentTimeMillis();
Then on the second click you can calculate the difference:
long difference = System.currentTimeMillis() - startTime;
difference / 1000
will give you the difference in seconds. Hope this helps.
回答2:
I think it is better practice to use System.nanoTime()
instead of System.currentTimeMillis()
, as currentTimeMillis()
relies on what time the system's clock is set to, which can be changed.
nanoTime()
, however, is really designed to measure elapsed time according to the JavaDoc.
回答3:
You can use System.currentTimeMillis()
(or create a new Date
or GregorianCalendar
instance) on click.
Save it somewhere. On next click do the same. Then compare the times.