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

Константа time.RubyDate представляет собой строковый литерал с форматом даты и времени, который используется в языке программирования Ruby. Формат соответствует монтированному времени Ruby: "Mon Jan 02 15:04:05 -0700 2006". Эта константа удобна при парсинге и форматировании дат, которые приходят из систем, использующих Ruby, или при необходимости привести время к этому формату.

Синтаксис

gotime.RubyDate

Константа имеет тип string и может использоваться как шаблон для функций time.Parse и time.Time.Format.

Пример

Давайте отформатируем текущее время в стиле Ruby:

gopackage main

import (
  "fmt"
  "time"
)

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

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

go"Mon Jan 02 15:04:05 -0700 2006"

Пример

Давайте распарсим строку с датой в формате Ruby:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  str := "Tue May 21 10:30:45 +0300 2024"
  t, err := time.Parse(time.RubyDate, str)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(t)
}

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

go"2024-05-21 10:30:45 +0300 MSK"

Пример

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

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  now := time.Now()
  fmt.Println("RubyDate:", now.Format(time.RubyDate))
  fmt.Println("ANSIC:", now.Format(time.ANSIC))
  fmt.Println("RFC1123:", now.Format(time.RFC1123))
}

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

go"RubyDate: Mon Jan 02 15:04:05 -0700 2006"
"ANSIC: Mon Jan 2 15:04:05 2006"
"RFC1123: Mon, 02 Jan 2006 15:04:05 MST"

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

  • константу time.ANSIC,
    предоставляющую формат ANSIC для даты и времени
  • константу time.RFC1123,
    предоставляющую формат RFC1123 для даты и времени
  • константу time.Kitchen,
    предоставляющую кухонный формат времени
  • функцию time.Time.Format,
    которая форматирует время согласно переданному шаблону