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

Метод time.Time.UnixNano

Метод UnixNano преобразует значение времени типа time.Time в целое число типа int64, представляющее количество наносекунд, прошедших с эпохи Unix (1 января 1970 года UTC). Этот метод возвращает высокоточное представление времени, которое часто используется для вычисления промежутков времени, сортировки событий или в качестве уникального идентификатора момента времени.

Синтаксис

func (t time.Time) UnixNano() int64

Пример

Давайте получим текущее время в наносекундах:

package main import ( "fmt" "time" ) func main() { t := time.Now() res := t.UnixNano() fmt.Println(res) }

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

"1700000000000000000"

Пример

Создадим конкретную дату и получим ее значение в наносекундах:

package main import ( "fmt" "time" ) func main() { t := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC) res := t.UnixNano() fmt.Println(res) }

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

"1704067200000000000"

Пример

Используем UnixNano для измерения времени выполнения операции:

package main import ( "fmt" "time" ) func main() { start := time.Now().UnixNano() sum := 0 for i := 0; i < 1000000; i++ { sum += i } end := time.Now().UnixNano() duration := end - start fmt.Println(duration) }

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

"1500000"

Обратите внимание, что значение может отличаться в зависимости от производительности системы.

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

  • метод time.Time.Unix,
    который возвращает количество секунд с эпохи Unix
  • метод time.Time.UnixMilli,
    который возвращает количество миллисекунд с эпохи Unix
  • метод time.Time.UnixMicro,
    который возвращает количество микросекунд с эпохи Unix
  • метод time.Time.Sub,
    который вычисляет разницу между двумя моментами времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить