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

Константа time.RFC822 предоставляет шаблон для форматирования времени в формате, соответствующем RFC 822, который широко используется в электронной почте и интернет-протоколах. Формат представлен строкой "02 Jan 06 15:04 MST", где: 02 — день месяца (две цифры), Jan — трехбуквенное сокращение месяца, 06 — последние две цифры года, 15:04 — часы и минуты в 24-часовом формате, MST — трехбуквенный код временной зоны.

Эта константа особенно полезна при работе с email-заголовками, HTTP-заголовками и любыми другими системами, где требуется стандартизированное представление времени в сети.

Синтаксис

goconst RFC822 = "02 Jan 06 15:04 MST"

Константа time.RFC822 используется как аргумент в функциях time.Parse и Time.Format для парсинга или форматирования времени в соответствии с данным стандартом.

Пример

Форматирование текущего времени в формат RFC 822:

gopackage main

import (
  "fmt"
  "time"
)

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

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

go"04 Sep 26 15:04 MSK"

Пример

Парсинг строки, содержащей дату в формате RFC 822:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  str := "04 Sep 26 15:04 MSK"
  res, err := time.Parse(time.RFC822, str)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(res)
}

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

go"2026-09-04 15:04:00 +0300 MSK"

Пример

Использование константы для парсинга времени из email-заголовка:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  // Пример значения заголовка Date из email
  emailDate := "04 Sep 26 15:04 MSK"
  parsedTime, err := time.Parse(time.RFC822, emailDate)
  if err != nil {
    fmt.Println("Ошибка парсинга:", err)
    return
  }
  fmt.Println("Распарсенное время:", parsedTime)
  fmt.Println("Год:", parsedTime.Year())
  fmt.Println("Месяц:", parsedTime.Month())
}

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

go"Распарсенное время: 2026-09-04 15:04:00 +0300 MSK"
"Год: 2026"
"Месяц: September"

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

  • константу time.RFC822Z,
    которая использует числовой часовой пояс (например, -0700)
  • константу time.RFC1123,
    которая соответствует формату RFC 1123 с четырехзначным годом
  • функцию Time.Format,
    которая форматирует время согласно переданному шаблону
  • функцию time.Parse,
    которая разбирает строку времени в соответствии с шаблоном