我正在尝试将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");
}