Функция time.ParseDuration
Функция time.ParseDuration преобразует строку, представляющую длительность,
в значение типа time.Duration. Она принимает один параметр - строку
с длительностью, и возвращает значение типа time.Duration и ошибку.
Строка может содержать числа с плавающей точкой и суффиксы единиц измерения:
ns (наносекунды), us (микросекунды), ms (миллисекунды),
s (секунды), m (минуты), h (часы).
Синтаксис
time.ParseDuration(durationStr)
Пример
Давайте преобразуем строку "10s" в длительность:
package main
import (
"fmt"
"time"
)
func main() {
duration, err := time.ParseDuration("10s")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(duration)
}
Результат выполнения кода:
"10s"
Пример
Давайте преобразуем строку с несколькими единицами измерения "2h30m":
package main
import (
"fmt"
"time"
)
func main() {
duration, err := time.ParseDuration("2h30m")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(duration)
}
Результат выполнения кода:
"2h30m0s"
Пример
Давайте преобразуем строку с дробным числом "1.5s":
package main
import (
"fmt"
"time"
)
func main() {
duration, err := time.ParseDuration("1.5s")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(duration)
}
Результат выполнения кода:
"1.5s"
Пример
Давайте попробуем преобразовать строку с неверным форматом "10":
package main
import (
"fmt"
"time"
)
func main() {
duration, err := time.ParseDuration("10")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(duration)
}
Результат выполнения кода:
"time: invalid duration \"10\""
Смотрите также
-
тип
time.Duration,
который представляет интервал времени -
метод
time.Duration.Seconds,
который возвращает длительность в секундах -
метод
time.Duration.Minutes,
который возвращает длительность в минутах -
метод
time.Duration.Hours,
который возвращает длительность в часах