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

Константа time.RFC3339 представляет собой строковый шаблон для форматирования и парсинга времени в соответствии со стандартом RFC 3339. Этот стандарт определяет формат представления даты и времени в интернете. Константа имеет значение "2006-01-02T15:04:05Z07:00" и используется совместно с методами time.Time.Format и time.Parse.

Синтаксис

goconst RFC3339 = "2006-01-02T15:04:05Z07:00"

Пример использования с Format

Давайте отформатируем текущее время в формате RFC 3339:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  now := time.Now()
  res := now.Format(time.RFC3339)
  fmt.Println(res)
}

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

go"2026-09-04T15:04:05Z"

Пример использования с Parse

Давайте распарсим строку в формате RFC 3339 в объект времени:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  str := "2026-09-04T15:04:05Z"
  t, err := time.Parse(time.RFC3339, str)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(t)
}

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

go"2026-09-04 15:04:05 +0000 UTC"

Пример с часовым поясом

Давайте отформатируем время с учетом часового пояса:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  loc, _ := time.LoadLocation("Europe/Moscow")
  t := time.Date(2026, time.September, 4, 18, 4, 5, 0, loc)
  res := t.Format(time.RFC3339)
  fmt.Println(res)
}

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

go"2026-09-04T18:04:05+03:00"

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

  • константу time.RFC3339Nano,
    которая включает наносекунды в формате RFC 3339
  • константу time.RFC1123,
    которая представляет формат RFC 1123
  • константу time.RFC822,
    которая представляет формат RFC 822
  • константу time.RFC850,
    которая представляет формат RFC 850