time_point 无法表示 2106年以后的时间问题
问题
目前想存下相对于当前时间100年以后的时间,当输入的时间超过2106
年后,就重新从1970
来开始累加
问题跟进
合约中常用的时间类型为
time_point
time_point_sec
由于两个都是uint32_t(unsigned int)
类型保存秒数,最大值是4294967295
,
EOSIO时间戳使用的仍然是Unix时间戳,即从1970/1/1 0:0:0
开始计算,所以可以表示到最大的时间为2106
年
无法满足需求
解决方案
存储当前更新时间与结束时间的差值秒数作为存储数据