使用天文台小部件中的时间计算给定费率的金额

时间:2018-07-26 14:01:11

标签: android time chronometer

我正在使用Chronometer小部件来获取时间。当时间改变时,它具有ticklistener来执行操作。我需要在时间运行时使用rate*time计算金额,但我不知道如何在计时器运行时获得准确的秒数。谁能为我指出正确的方向。谢谢。

1 个答案:

答案 0 :(得分:0)

天文钟使用milliseconds按照此link的规定在onChronometerTickListener中计算时间,因此需要通过将经过的时间乘以0.001来转换为秒。现在,您已经花费了总时间(以秒为单位),并且可以对其执行任何计算。

        double amount;
        string precision;

        timer.start();
        timer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
            @Override
            public void onChronometerTick(Chronometer chronometer) {
                long myElapsedMillis = SystemClock.elapsedRealtime() - timer.getBase();
                double seconds = myElapsedMillis * 0.001;
                amount = (seconds/3600)* hourlyRate;
                precision = new DecimalFormat("0.00").format(amount);                    
            }
        });