Format time input string into suitable numeric output metric (e.g., seconds).
Input follows the SBATCH
utility specifications.
Accepted time formats include "minutes"
,
"minutes:seconds"
, "hours:minutes:seconds"
,
"days-hours"
, "days-hours:minutes"
and
"days-hours:minutes:seconds"
.
Details
For example, max_time = "60"
indicates a maximum time of 60 minutes,
max_time = "03:00:00"
a maximum time of 3 hours,
max_time = "4-12"
a maximum of 4 days and 12 hours, and
max_time = "2-02:30:00"
a maximum of 2 days, 2 hours and 30 minutes.
Examples
# Test cases (outputs in seconds)
timeFormater("4-12") # day-hours
#> [1] 388800
timeFormater("4-12:15") # day-hours:minutes
#> [1] 389700
timeFormater("4-12:15:30") # day-hours:minutes:seconds
#> [1] 389730
timeFormater("30") # minutes
#> [1] 1800
timeFormater("30:30") # minutes:seconds
#> [1] 1830
timeFormater("4:30:30") # hours:minutes:seconds
#> [1] 16230
# output in hours
timeFormater("4-12", output = 'hour')
#> [1] 108
timeFormater("4-12:15", output = 'hour')
#> [1] 108.25
timeFormater("4-12:15:30", output = 'hour')
#> [1] 108.2583
timeFormater("30", output = 'hour')
#> [1] 0.5
timeFormater("30:30", output = 'hour')
#> [1] 0.5083333
timeFormater("4:30:30", output = 'hour')
#> [1] 4.508333
# numeric input is understood as seconds by default
timeFormater(42)
#> [1] 42
timeFormater(42, output='min') # minutes
#> [1] 0.7