Разделение времени. Продолжительность в Голанге - PullRequest
0 голосов
/ 20 февраля 2019

В настоящее время пакет time в Go не имеет функции «деление» или чего-либо подобного.Вы можете разделить время. Длительность на какое-то другое значение, но оно требует значительного количества приведения.Есть ли простой / очевидный способ разделить время. Длительность на что-то в Go, что я не вижу?(Я знаю, что вы можете делить на числовую константу, но мне нужно делать это динамически.) Я планирую отправить запрос на выпуск / добавление функции, чтобы добавить базовую функцию «делить» в пакет time, ноСначала я хотел спросить здесь, если мне не хватает простого способа сделать такое разделение.

1 Ответ

0 голосов
/ 20 февраля 2019

Пакетное время

import "time" 

Не существует определения для единиц Дня или больше, чтобы избежать путаницы при переходе на часовой пояс летнего времени.

Комуподсчитать количество единиц в длительности, разделить:

second := time.Second
fmt.Print(int64(second/time.Millisecond)) // prints 1000

Чтобы преобразовать целое число единиц в длительность, умножьте:

seconds := 10
fmt.Print(time.Duration(seconds)*time.Second) // prints 10s

const (
        Nanosecond  Duration = 1
        Microsecond          = 1000 * Nanosecond
        Millisecond          = 1000 * Microsecond
        Second               = 1000 * Millisecond
        Minute               = 60 * Second
        Hour                 = 60 * Minute
)

тип Продолжительность

Длительность представляет прошедшее время между двумя моментами в виде подсчета с интервалом 6464.Представление ограничивает наибольшую продолжительность представления примерно 290 годами.

type Duration int64

Деление и умножение на time.Duration описано в документации пакета Go time.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...