示例...
func MakeTimestamp() int64 {
return time.Now().UTC().UnixNano() / int64(time.Nanosecond)
}
这将创建类似1539222678608597000
我将这些数据存储在mongodb上,最终我将使用类似的东西:
db.getCollection('xxxxx').find({ "timestamp":{$lte: 1539194688262205259, $gte: 1539176688262205057} },{"venue": 1},{"product":0})
答案 0 :(得分:1)
否,时间戳记不是单调的。它们受操作系统和can skip forward and backward的时钟同步的影响。
这就是Go 1.9添加monotonic part to time.Time的原因。现在,您始终可以可靠地减去两个time.Now()所获得的time.Time值,但是任何格式都会丢弃单调部分。
因此,时间戳不适合按时间顺序排序,但在许多实际情况下,它们“足够好”。鉴于偶尔的错误,您必须自己决定它是否对您有用。 (切勿在运行于笔记本电脑和其他移动设备上的软件中使用它们。待机模式会导致各种奇怪的时钟问题,例如将时间跳到几个 hours 到未来。)