Эпоха является универсальной системой для описания определенного промежутка времени. Начало времени эпохи определяется как 00:00:00 1 Jan 1970 UTC. Значением эпохи является количество секунд с начала отметки времени, минус количество високосных секунд.

Пакет time и тип Time дают возможность оперировать и находить время эпохи UNIX.

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

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

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

Go в ВК ЧАТ в Telegram


Как конвертировать дату в UNIX timestamp в Golang?

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

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

Конвертируем строку с датой в UNIX Timestamp

Мы уже знаем как превратить строку с датой в экземпляр Time из предыдущей строки. Мы воспользуемся этими знаниями и превратим строку даты в UNIX timestamp. В примере ниже, мы узнаем сколько секунд прошло от 1 Января 1970 года до 1 января 2020 года.

Результат:

Конвертируем Unix timestamp в дату

У нас имеется вот такой UNIX timestamp 1234567890, мы хотим узнать на какую дату оно указывает.

Результат:

Пакет time содержит функцию Unix, что принимает два аргумента типа int64, а также секунды и наносекунды времени эпохи. В данном случае вы получите экземпляр Time из значения эпохи.

Для получения значения эпохи из экземпляра Time можно вызвать метод с тем же названием, что и создание Time из эпохи Unix. Есть еще один метод, который называется UnixNano, что возвращает число миллисекунд вместо секунд.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии