Константа time.RFC822
Константа time.RFC822 предоставляет шаблон для форматирования времени
в формате, соответствующем RFC 822, который широко используется в
электронной почте и интернет-протоколах. Формат представлен строкой
"02 Jan 06 15:04 MST", где:
02 — день месяца (две цифры),
Jan — трехбуквенное сокращение месяца,
06 — последние две цифры года,
15:04 — часы и минуты в 24-часовом формате,
MST — трехбуквенный код временной зоны.
Эта константа особенно полезна при работе с email-заголовками, HTTP-заголовками и любыми другими системами, где требуется стандартизированное представление времени в сети.
Синтаксис
const RFC822 = "02 Jan 06 15:04 MST"
Константа time.RFC822 используется как аргумент в функциях
time.Parse и Time.Format для парсинга или форматирования
времени в соответствии с данным стандартом.
Пример
Форматирование текущего времени в формат RFC 822:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
res := now.Format(time.RFC822)
fmt.Println(res)
}
Результат выполнения кода:
"04 Sep 26 15:04 MSK"
Пример
Парсинг строки, содержащей дату в формате RFC 822:
package 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)
}
Результат выполнения кода:
"2026-09-04 15:04:00 +0300 MSK"
Пример
Использование константы для парсинга времени из email-заголовка:
package 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())
}
Результат выполнения кода:
"Распарсенное время: 2026-09-04 15:04:00 +0300 MSK"
"Год: 2026"
"Месяц: September"
Смотрите также
-
константу
time.RFC822Z,
которая использует числовой часовой пояс (например, -0700) -
константу
time.RFC1123,
которая соответствует формату RFC 1123 с четырехзначным годом -
функцию
Time.Format,
которая форматирует время согласно переданному шаблону -
функцию
time.Parse,
которая разбирает строку времени в соответствии с шаблоном