感谢各位热心的回复,现在问题解决了.
对比了1978到2178年之间所有的数据 找出了规律.
列表里面的 t0,t1,t2...ta,tx,ty,tz,tb,tz, 是TDB数据经过计算后转换为go的time.Time类型 抱歉我没有提前说明白.
规律就是ta或者tb到tz的差值有三种可能.
某值 特定值
ta=某值同时tb=x
ta=某值同时tb=另一个值
ta tb同时不等于某值.
1
reus 2020-04-06 07:56:42 +08:00 via Android
都不知道你说啥,代码也不给,一句不行,谁知道你说啥不行? Sub 怎么就不能比较了? After, Before 怎么就不能比较了?你究竟想比较啥?
|
2
mm163 2020-04-06 08:47:02 +08:00
Unix()通通转成 int64, 想怎么比较都行。
|
3
cloud0001 2020-04-06 09:17:56 +08:00
没听明白
|
4
skys215 2020-04-06 09:27:39 +08:00
不能在 tz 之后的话…tb 的意义在哪…?
|
5
AmrtaShiva OP @skys215 ta tb 二选一 而且 tb 出现的几率极少 千年没见一次 这是万年历当中定冬至前朔的计算
|
6
hwenwur 2020-04-06 12:32:09 +08:00 via Android
没看明白。求最近的时间点 转成时间戳然后相减取绝对值不行吗
|
7
loading 2020-04-06 12:59:26 +08:00 via Android
fmt.Println(tz.(type))
输出是什么 |
8
AmrtaShiva OP @loading use of .(type) outside type switch
|
9
loading 2020-04-06 13:20:00 +08:00 via Android
我也是服了……能不能直接告诉我你用的类型。
import ( "reflect" "fmt" ) func main() { fmt.Println(typeof(v)) } func typeof(v interface{}) string { return reflect.TypeOf(v).String() } |
10
loading 2020-04-06 13:21:31 +08:00 via Android
不敢帮了。
|
11
reus 2020-04-06 13:38:44 +08:00
“t0,t1,t2...ta,tx,ty,tz,tb,tz, 求 ta 到 tb 中距离 tz 最近的一个时间”,这不就是 tb ?
“时间范围满足有且只有 ta tb ”,意义不明 “不能在 ta 之前 不能在 tz 之后”,你这个范围究竟是 [ta, tb] 还是 [ta, tz] ? “试过 tz.Sub(ta)和 to.Sub(tb)比较 不行”,to 哪来的?不行是指什么不行? “试了 Before() 也试过 After() ”,能不能给个表达式来说明你的意思? “用 for 循环之后时间-4 会退回到 ta 之前”,没有代码谁知道你说什么循环? 没人明白你什么思路,更不可能给你其他思路。 |
12
AmrtaShiva OP @loading time.Time 类型
|
13
AmrtaShiva OP @reus 谢了
|