При сериализации информации о дате и времени важно выбрать верный формат. Данная инструкция покажет, как пакет time помогает выбрать верный формат и выполнить сериализацию данных должным образом.

Как выполнить сериализацию даты в Golang?

1. Создайте файл serialize.go со следующим содержимым:

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

2. Запустите код через go run serialize.go в главном терминале;
3. Посмотрите на результат:

Сериализация времени в JSON

Функция Time имплементирует интерфейсы для сериализации Binary, Gob и JSON. Формат JSON считается универсальным, поэтому в примере показано, как сериализовать значение в JSON. Обратите внимание, что функция Time сериализует значение в формате RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), что предлагает так называемый интернетный формат даты/времени.

Другим универсальным способом сериализации/сохранения времени является использование времени Unix. Время эпохи (Unix) независимо от часовых поясов, так как оно определяется секундами/наносекундами, прошедшими с момента абсолютной точки во времени (1 Января 1970). В конечном итоге оно представлено как число, поэтому нет причины для сериализации и десериализации значения.