🚧 Add utils.HourMinSecToSeconds func
This commit is contained in:
parent
5472d7376a
commit
a706d16c5a
2 changed files with 44 additions and 0 deletions
|
|
@ -3,6 +3,8 @@ package utils
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
p "path"
|
p "path"
|
||||||
|
"strings"
|
||||||
|
t "time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetShortPath(path string) string {
|
func GetShortPath(path string) string {
|
||||||
|
|
@ -11,3 +13,15 @@ func GetShortPath(path string) string {
|
||||||
dir = p.Base(dir)
|
dir = p.Base(dir)
|
||||||
return fmt.Sprintf("%s/%s", dir, base)
|
return fmt.Sprintf("%s/%s", dir, base)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func HourMinSecToSeconds(time string) float64 {
|
||||||
|
parts := strings.Split(time, ":")
|
||||||
|
units := []string{"h", "m", "s"}
|
||||||
|
units = units[len(units)-len(parts):]
|
||||||
|
f := ""
|
||||||
|
for idx, part := range parts {
|
||||||
|
f = f + part + units[idx]
|
||||||
|
}
|
||||||
|
dur, _ := t.ParseDuration(f)
|
||||||
|
return dur.Seconds()
|
||||||
|
}
|
||||||
|
|
|
||||||
30
utils/utils_hms_test.go
Normal file
30
utils/utils_hms_test.go
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
package utils
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func hmsTest(t *testing.T, time string, expected float64) {
|
||||||
|
found := HourMinSecToSeconds(time)
|
||||||
|
if found != expected {
|
||||||
|
t.Fatalf(`HourMinSecToSeconds("%s") = %v, want %v`, time, found, expected)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestJustSeconds(t *testing.T) {
|
||||||
|
hmsTest(t, "4.23", 4.23)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMinuteSeconds(t *testing.T) {
|
||||||
|
hmsTest(t, "2:3.45", 123.45)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHourMinuteSeconds(t *testing.T) {
|
||||||
|
hmsTest(t, "3:5:12.43", 11112.43)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestLeadingZeros(t *testing.T) {
|
||||||
|
hmsTest(t, "03:05:02.43", 11102.43)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestWholeSecond(t *testing.T) {
|
||||||
|
hmsTest(t, "4:2", 242)
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue