如何在android中正确计算时间?

时间:2016-07-06 21:47:50

标签: android

我正在尝试将som次数转换为数字并返回。

我想要实现的是从三个数字计算有效睡眠时间。

sleepStart女巫是时间选择器输入的时间(例如01:05) sleepStop也是时间选择器输入的时间(例如06.30) awakeTimeString是从微调器中选择的分钟数。

问题在于数学不起作用,因为diffHours以小时为单位,awakeTime以分钟为单位。

我不知道如何将其转换为相同类型的数字。例如,如何将分钟转换为整个小时?因为在我想要15分钟成为0,25。

代码是从我找到的几个例子中收集的,我不知道如何解决这个问题。

我怎样才能解决这个最简单的问题?

String sleepStart = editFallAsleepTime.getText().toString();
                String sleepStop = editWakeUpTime.getText().toString();
                String awakeTimeString = ((Globals) getActivity().getApplication()).getAwakeTime();

                SimpleDateFormat format = new SimpleDateFormat("HH:mm");

                Date d1 = null;
                Date d2 = null;

                try
                {
                    d1 = format.parse(dateStart);
                    d2 = format.parse(dateStop);

                    //in milliseconds
                    float diff = d2.getTime() - d1.getTime();
                    float diffHours = diff / (60 * 60 * 1000) % 24;
                    float awakeTime = Float.valueOf(awakeTimeString);
                    float calcEffectiveSleep = diffHours - awakeTime;
                    String sleepTime = Float.toString(diffHours);
                    String effectiveSleep = Float.toString(calcEffectiveSleep);
                    ((Globals) getActivity().getApplication()).setEffectiveSleep(effectiveSleep);
                }
                catch (Exception e)
                {
                    Log.e("thisthing","didntwork");
                }

0 个答案:

没有答案