变长的时间戳(第4版)
以32位为单位,一个时间戳可以是32位、64位、96位。
1+2+29=32
1+1+30=32
A类:(400×365+97)×1000=146097000≤229
B类:24×60×60×1000=86400000≤229
C类:1000×1000×1000=1000000000≤230
每400年有400×365+97=146097天,A类时间戳能表达1000个400年,是40万年,公元前后各20万年。它能储存于29比特中。
B类时间戳表示一天中的毫秒数,它也可以储存于29比特中。
C类时间戳用30比特储存,它把时间精度推进到皮秒,即10-12秒。
每个32位的第1位,表示是否继续。1表示继续,0表示终止。1×××× 1×××× 0××××,这表示有3个32位。
第2位是0,再看第3位,是0,就是A类;是1,就是B类;第2位是1,就是C类。
A类时间戳的单位是天,可以只有它自己,表示精确到天的时间;
B类时间戳的单位是毫秒,和A类时间戳一起使用,满足多数需求。
C类时间戳的单位是皮秒,写成A+B+C的形式,能表达很精细的时间。