区块链中文技术社区

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
无法满足需求

解决方案

存储当前更新时间与结束时间的差值秒数作为存储数据

参考

https://bihu.com/article/1403575169

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »