Константа time.TimeOnly

Константа time.TimeOnly представляет строковый формат времени "15:04:05". Эта константа используется в методах Format и Parse для форматирования и разбора временных значений. Она удобна, когда вам нужно работать только с временной частью без даты.

Синтаксис

gotime.TimeOnly

Константа time.TimeOnly имеет тип строки и представляет собой стандартный формат времени в 24-часовом режиме с секундами.

Пример

Давайте отформатируем время, используя константу time.TimeOnly:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2026, 9, 4, 15, 30, 45, 0, time.UTC)
  res := t.Format(time.TimeOnly)
  fmt.Println(res)
}

Результат выполнения кода:

go"15:30:45"

Пример

Давайте распарсим строку времени в значение time.Time с помощью константы time.TimeOnly:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  str := "23:59:59"
  t, err := time.Parse(time.TimeOnly, str)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(t)
}

Результат выполнения кода:

go"0000-01-01 23:59:59 +0000 UTC"

Обратите внимание, что при парсинге только времени, дата устанавливается в нулевое значение (1 января 0000 года).

Пример

Давайте сравним формат time.TimeOnly с другими форматами времени:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2026, 9, 4, 8, 15, 30, 0, time.UTC)
  
  fmt.Println("TimeOnly:", t.Format(time.TimeOnly))
  fmt.Println("Kitchen:", t.Format(time.Kitchen))
  fmt.Println("Stamp:", t.Format(time.Stamp))
}

Результат выполнения кода:

go"TimeOnly: 08:15:30"
"Kitchen: 8:15AM"
"Stamp: Jan  4 08:15:30"

Смотрите также

  • константу time.DateTime,
    которая представляет формат "2006-01-02 15:04:05"
  • константу time.DateOnly,
    которая представляет формат "2006-01-02"
  • константу time.Kitchen,
    которая представляет формат "3:04PM"
  • константу time.RFC3339,
    которая представляет формат "2006-01-02T15:04:05Z07:00"