Константа time.RFC1123Z
Константа time.RFC1123Z представляет собой шаблон форматирования
для даты и времени, соответствующий стандарту RFC 1123, но с
использованием числового обозначения часового пояса вместо
трехбуквенного сокращения. В отличие от константы
time.RFC1123, которая использует сокращение временной
зоны (например, UTC), данный формат выводит часовой пояс
в виде числового смещения (например, +0000).
Формат представляется строковым литералом
"Mon, 02 Jan 2006 15:04:05 -0700". Он широко
используется в HTTP-заголовках и других протоколах,
где требуется стандартное представление времени с
учетом часового пояса.
Синтаксис
time.RFC1123Z
Пример
Давайте отформатируем текущее время в формате
RFC1123Z:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
res := now.Format(time.RFC1123Z)
fmt.Println(res)
}
Результат выполнения кода:
"Mon, 02 Jan 2006 15:04:05 +0300"
Пример
Давайте распарсим строку в формате RFC1123Z
в объект time.Time:
package main
import (
"fmt"
"time"
)
func main() {
str := "Mon, 02 Jan 2006 15:04:05 -0700"
res, err := time.Parse(time.RFC1123Z, str)
if err != nil {
fmt.Println(err)
}
fmt.Println(res)
}
Результат выполнения кода:
"2006-01-02 15:04:05 -0700 -0700"
Пример
Давайте сравним вывод форматов RFC1123 и
RFC1123Z для одного момента времени:
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2023, 10, 15, 14, 30, 0, 0, time.UTC)
res1 := t.Format(time.RFC1123)
res2 := t.Format(time.RFC1123Z)
fmt.Println(res1)
fmt.Println(res2)
}
Результат выполнения кода:
"Sun, 15 Oct 2023 14:30:00 UTC"
"Sun, 15 Oct 2023 14:30:00 +0000"
Смотрите также
-
константу
time.RFC1123,
которая использует трехбуквенное сокращение часового пояса -
константу
time.RFC3339,
которая представляет формат даты и времени согласно RFC 3339 -
метод
time.Time.Format,
который форматирует время согласно указанному шаблону -
функцию
time.Parse,
которая разбирает строку времени согласно указанному формату