Метод time.Time.Nanosecond

Метод time.Time.Nanosecond возвращает наносекунды, прошедшие от начала текущей минуты для заданного момента времени. Возвращаемое значение имеет тип int и находится в диапазоне от 0 до 999999999. Это позволяет получить высокоточную информацию о времени с точностью до наносекунды.

Синтаксис

got.Nanosecond()

Пример

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

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Now()
  ns := t.Nanosecond()
  fmt.Println(ns)
}

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

go123456789

Пример

Давайте создадим конкретный момент времени и получим количество наносекунд от начала минуты:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2026, time.September, 4, 15, 30, 45, 987654321, time.UTC)
  ns := t.Nanosecond()
  fmt.Println(ns)
}

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

go987654321

Пример

Давайте используем метод time.Time.Nanosecond для форматирования времени с высокой точностью:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Now()
  fmt.Printf("Time: %02d:%02d:%02d.%09d\n",
    t.Hour(),
    t.Minute(),
    t.Second(),
    t.Nanosecond(),
  )
}

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

go"Time: 15:30:45.987654321"

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

  • метод time.Time.Second,
    который возвращает секунды от начала минуты
  • метод time.Time.Minute,
    который возвращает минуты от начала часа
  • метод time.Time.Hour,
    который возвращает часы от начала дня
  • метод time.Time.UnixNano,
    который возвращает количество наносекунд от эпохи Unix