maxWall = wallToInternal + (1<<33 - 1) // year 2157
这个注释没看懂什么意思 1
mazyi 2020-03-20 09:13:43 +08:00
英语不好可以翻译
|
2
thet 2020-03-20 09:16:16 +08:00 1
https://github.com/golang/proposal/blob/master/design/12914-monotonic.md
https://zhuanlan.zhihu.com/p/93299132 可以参考一下这个,wall time 存储的是壁钟的时间(该时钟可能会更改以进行时钟同步) |
3
loading 2020-03-20 09:18:47 +08:00 via Android
没事,到时再加一位就行了。
64 位只有这么长。 unix 时间戳也加过位。 |
4
AmrtaShiva OP @loading 怎么加?
|
5
loading 2020-03-20 10:05:45 +08:00 via Android
@AmrtaShiva 这不是你和我关心的。还有一百多年。
|
6
loading 2020-03-20 10:06:32 +08:00 via Android
你确有需要就自己写个包,别直接改基础库。
|
7
whitehack 2020-03-20 10:55:02 +08:00
1 百多年以后的事还要管?
|
8
spadger 2020-03-20 10:57:15 +08:00
我自己的版本号只能到 2127 年,我觉得都够用了,感觉自己活不了那么久。
|
9
2kCS5c0b0ITXE5k2 2020-03-20 11:09:38 +08:00
2127 年 是不是还会是 x64? 或许计算机都不存在了... 还担心这个
|
11
AmrtaShiva OP @loading 我在写万年历 到今后三千年的时间 看了一下 go 的 time.Time 比较 不能做到小于等于的情况下比较两个时间 这里就得自己搞了
@whitehack @spadger 看了一下时间比较函数 go 的时间比较就只有大于或者小于 没有等于的情况 时间上刚才看了一下 可以比较出来 ``` package main import ( "fmt" "time" ) func difft() (b bool) { //如果日期相等就返回 false t1 := time.Date(2166, 12, 22, 12, 0, 0, 0, time.UTC) t2 := time.Date(2166, 12, 22, 12, 0, 0, 0, time.UTC) b = t1.Before(t2) fmt.Printf("b:%t\n", b) return } func main() { fmt.Println("vim-go") difft() } ``` |
12
QUIOA 2020-03-20 12:36:56 +08:00 via Android
想到
|
13
loading 2020-03-20 12:44:28 +08:00 via Android
你很难估计后面的事,你知道闰秒吗?还有时间调整。
例如 1927 年 12-31 23:54:07 1927 年 12-31 23:54:08 相减,结果应该是 353 |
14
si 2020-03-20 16:00:00 +08:00
等 intel/amd x128 的计算机出现就支持更大的时间了[doge]
|
15
AmrtaShiva OP @loading 知道润秒 这东西早就有人建议取消了 我手里的数据 不打算计算润秒 因为影响可以忽略 我大概看了一下 计算出来的时间和寿星最新版本就是差润秒的时间
|
16
reus 2020-04-06 13:42:36 +08:00
@AmrtaShiva time.Time 有 Equal 方法!
|