РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
727 of 1593 menu

Функция time.Parse

Функция time.Parse преобразует строковое представление даты и времени в значение типа time.Time. Первый параметр функции — это строка формата (шаблон), по которому будет выполняться парсинг. Второй параметр — строка, содержащая дату и время для преобразования. Функция возвращает объект time.Time и ошибку, если парсинг не удался.

Синтаксис

time.Parse(layout, value string) (time.Time, error)

Пример

Разберем базовый пример парсинга даты в формате "2006-01-02":

package main import ( "fmt" "time" ) func main() { layout := "2006-01-02" str := "2023-12-25" res, err := time.Parse(layout, str) if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

"2023-12-25 00:00:00 +0000 UTC"

Пример

Теперь рассмотрим парсинг строки с указанием времени в формате "2006-01-02 15:04:05":

package main import ( "fmt" "time" ) func main() { layout := "2006-01-02 15:04:05" str := "2023-12-25 14:30:00" res, err := time.Parse(layout, str) if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

"2023-12-25 14:30:00 +0000 UTC"

Пример

Парсинг строки с использованием предопределенного формата time.RFC3339:

package main import ( "fmt" "time" ) func main() { layout := time.RFC3339 str := "2024-01-15T10:30:00Z" res, err := time.Parse(layout, str) if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

"2024-01-15 10:30:00 +0000 UTC"

Пример

Обработка ошибки при неверном формате строки:

package main import ( "fmt" "time" ) func main() { layout := "2006-01-02" str := "25-12-2023" res, err := time.Parse(layout, str) if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

"parsing time \"25-12-2023\" as \"2006-01-02\": cannot parse \"25-12-2023\" as \"2006\""

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

  • функцию time.Time.Format,
    которая форматирует время в строку по шаблону
  • функцию time.ParseInLocation,
    которая парсит строку времени с учетом временной зоны
  • константу time.RFC3339,
    стандартный формат времени согласно RFC 3339
  • константу time.Layout,
    базовый шаблон для парсинга и форматирования времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить