区块链Block创建时间
区块时间获取
无论BTC系列的区块还是ETH系列的区块,区块创建的时间存储单位都是unix时间戳。单位是秒而不是毫秒,这是我们在使用时必须注意的,如果直接用它来创建时间是肯定是错误的。
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
Java语言中的转换
在Java中可以通过new Date().getTime()或System.currentTimeMillis()来获取时间戳。
但通过上面方法获取到的时间单位是毫秒。因此需要进行相应的转换。比如:System.currentTimeMillis() /1000。通过上面的方法就可以获得相应以秒为单位的时间戳。
同时可以通过new java.util.Date(Unix timestamp * 1000)方法来获得对应Java中的Date日期。
举例
例如ETH当中文档中对block的创建时间戳描述为:
timestamp: Number – the unix timestamp for when the block was collated.
我们可以通过以下命令获取到对应的timestamp字段内容:
web3.eth.getTransaction(“0x5da2844afb6826d4baed6ad7e8b536c00cbc921ac147773ad056f29f2e7c1762”).blockNumber
1920050
web3.eth.getBlock(1920050).timestamp
1469021581
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接