Почему я не могу преобразовать время эпохи в строку? - PullRequest
0 голосов
/ 27 марта 2019

У меня есть следующая программа:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now().UnixNano() / int64(time.Millisecond)
    nowString := string(now)
    fmt.Println(nowString)
}

Я ожидаю, что время эпохи будет напечатано в виде строки.Вместо этого я получаю:

Как мне исправить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

main.go

package main

import "fmt"
import "time"

func main() {
    nanos := time.Now().UnixNano()
    fmt.Println(time.Unix(0, nanos))

    millis := nanos / 1000000
    fmt.Println(millis)
}
0 голосов
/ 27 марта 2019

Вы делаете много вычислений, которые не нужны, если вы используете функции time, как показано здесь - https://gobyexample.com/time-formatting-parsing

Также. если все, что вам нужно сделать, это напечатать целое число, вам не нужно преобразовывать его в строку, а просто использовать спецификатор формата, например:

func main() {
    now := time.Now().UnixNano() / int64(time.Millisecond)
    //now is an int64 as you may have observed
    fmt.Printf("%d", now)
    //or even fmt.Println(now)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...