用一个uint64记录500年的每一秒和9亿多个ID

实现起来很简单。

uint64最大值是:18446744073709551615

将其缩小至:18000000000999999999

前面的 18000000000 用于记录时间,最多可记录 18000000000/3600/365/24 = 570 年中的每一秒。

后面的 999999999 用于记录ID,最多可记录 10亿-1 条内容。

这样可以在一些有序数据中实现时间戳和ID的组合查询。

 

你这种说法,让我想起 excel 对日期的存储,就是1900-1-1年开始计数的 一个整数,(如24-9-13就是45548)

相当于每一个 entry,就是通过绑定id 去对应出时间戳的

 

不过,顺着 excel 的理解,去调用 python 的 datetime(1900,1,1).timestamp() 就会报错,因为python的 timestamp函数 限制年份在1970-2038,不然会OverflowError ,因为实际上调用的是 C语言的 localtime()

皮卡秋
引用
你这种说法,让我想起 excel 对日期的存储,就是1900-1-1年开始计数的 一个整数,(如24-9-13就是45548) 相当于每一个 entry,就是通过绑定id 去对应出时间戳的 不...
皮卡秋 你这种说法,让我想起 excel 对日期的存储,就是1900-1-1年开始计数的 一个整数,(如24-9-13就是45548) 相当于每一个 entry,就是通过绑定id 去对应出时间戳的 &am ...

excel是 int32,4位的只能保存120多年,如果是有符号那只有60多年

1