我有以下程序:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now().UnixNano() / int64(time.Millisecond)
nowString := string(now)
fmt.Println(nowString)
}
我期待将纪元时间打印成一个字符串。相反,我得到:
�
我该如何解决这个错误?
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)
}
如果您使用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)
}