Я хочу вычесть 30 минут из orderDeliveryStartTime
, используя функцию Truncate
библиотеки time
в Go.Но вместо этого вычитается 30 секунд.Как вычесть ровно 30 минут из time.Time
?
package main
import (
"fmt"
"time"
)
func main() {
var pickingTimeConfig int
pickingTimeConfig = 30
layoutTime := "2006-01-02 15:04:05"
pickingTime := time.Duration(pickingTimeConfig) * time.Minute
fmt.Println(pickingTime.Nanoseconds())
vcmTimeLocation := time.FixedZone("UTC+7", 25200)
orderDeliveryStartTime := time.Date(2019, 4, 11, 13, 0, 30, 0, vcmTimeLocation)
fmt.Println(orderDeliveryStartTime.Format(layoutTime))
fmt.Println(orderDeliveryStartTime.Truncate(pickingTime).Format(layoutTime))
}
Фактический результат:
1800000000000
2019-04-11 13:00:30
2019-04-11 13: 00: 00
Ожидаемый результат:
1800000000000
2019-04-1113: 00: 30
2019-04-11 12: 30: 30