Go中时间的格式

我有这样的围棋程序,


package main


import "fmt"

import "time"


func main() {

s := strconv.Itoa64(time.Nanoseconds())

fmt.Println(s)

}

在我的系统中,输出为19位纳秒。现在,我想在7到12纳秒之后得到像数字一样的时间。有人可以帮忙吗?


注意:我想要7到12之间的数字,因为在我的系统中,它们之间的时间不同,这意味着其他数字相同,因此对我而言是不需要的。并且不需要在println内进行格式化,因为我仅举示例说明我的代码。实际上,我将格式化时间用于其他目的。我在s:=中需要它。


小唯快跑啊
浏览 253回答 3
3回答

GCT1015

s := strconv.Itoa64(time.Nanoseconds())[6:12]

拉莫斯之舞

例如,package mainimport (    "fmt"    "strconv"    "time")func main() {    s := strconv.Itoa64(time.Nanoseconds() / 1e7 % 1e6)    fmt.Println(s)}此算法从右边开始算出数字8到13。对于19位整数,这等效于从左边开始计数的7到12位数字。对于19位数字1323154238948677000,这些是数字423894。功能纳秒func Nanoseconds()int64纳秒报告自Unix时代(世界标准时间1970年1月1日00:00:00)以来的纳秒数。在某个时间点,纳秒数将从19个有效数字增加到20个有效数字。因此,从左侧切掉有效数字的算法(例如[6:12])是错误的。

慕盖茨4494581

从7到12提取数字很容易,字符串切片将达到目的:s := strconv.Itoa64(time.Nanoseconds())fmt.Println(s[6:12])所以你明白了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go