# Find the number of minutes in a HH:MM:SS time string

## Implementations

### Java

```	/**
* Turns a period of time into the number of minutes represented
* (eg. 06:30:15 returns 360.25)
* @param hourFormat The string containing the hour format "HH:MM:SS"
* @return The number of minutes represented, or -1 if the date could not be processed.
*/
public static double parseTimeToMinutes(String hourFormat) {

double minutes = 0;
String[] split = hourFormat.split(":");

try {

minutes += Double.valueOf(split[0])*60;
minutes += Double.valueOf(split[1]);
minutes += Double.valueOf(split[2])/60;
return minutes;

} catch (Exception e) {
return -1;
}

}
```

timeToMinutes :: String -> Double timeToMinutes time_str

``` = hours * 60 + minutes + seconds /60
where [hours, minutes, seconds] = map read \$ splitRegex (mkRegex ":") time_str
```

</highlightsyntax>

Below is the same solution in pointfree style while also reusing some more standard functions.

ttm :: String -> Double ttm = sum . zipWith (\$) [(*60), id, (/60)] . map read . (splitRegex . mkRegex) ":" </highlightsyntax>

### Ruby

```def time_to_minutes(time_str)
split_str = time_str.split(":")
return (split_str[0].to_f * 60) + (split_str[1].to_f) + (split_str[2].to_f / 60)
rescue Exception => e
# do any additional error handling here
return -1
end
```

### Python

<HIGHLIGHTSYNTAX language="python"> def time_to_minutes(time_str):

```   try:
hours, minutes, seconds = time_str.split(':')
except ValueError:
return -1
return int(hours)*60 + int(minutes) + int(seconds)/60.0
```

</HIGHLIGHTSYNTAX>