Мне нужно написать функцию, которая берет метку времени в секундах и преобразует ее в метку времени на основе дня. Например, обе отметки времени 1584875408
(22/03/2020 11:10) и 1584872571
(22/03/2020 10:22) должны быть преобразованы в 1584835200
(22/03/2020 в 12:00).
Я придумал следующую функцию. Помимо того, что это не работает, я думаю, что есть гораздо более умный способ достижения описанного поведения.
func formatTimestamp(t int64) (int64, error) {
timestamp := time.Unix(t, 0)
day := timestamp.Format("2006-01-02")
formatted, err := time.Parse(day, "2006-01-02")
if err != nil {
return 0, err
}
return formatted.Unix(), nil
}
func main() {
t, _ := formatTimestamp(1584873099)
fmt.Println(t)
}