英文:
How to generate random date in Go lang?
问题
以上代码给出了一个时间戳,但是,如果我只想分别获取日期部分和时间部分,可以使用split()函数吗?
英文:
time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
The above code gives us a timestamp but, what if I want to fetch only the date part and the time part separately? Is it possible to use split()?
答案1
得分: 29
你可以使用math/rand
来生成一个随机日期,代码如下:
import (
"fmt"
"math/rand"
"time"
)
func randate() time.Time {
min := time.Date(1970, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
max := time.Date(2070, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
delta := max - min
sec := rand.Int63n(delta) + min
return time.Unix(sec, 0)
}
你可以在这里查看代码示例:https://play.golang.org/p/x1CK6nIO-v
英文:
You can use math/rand
to generate a random date like this:
import (
"fmt"
"math/rand"
"time"
)
func randate() time.Time {
min := time.Date(1970, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
max := time.Date(2070, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
delta := max - min
sec := rand.Int63n(delta) + min
return time.Unix(sec, 0)
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论