区块链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


上一篇:sql server判断某个表是否存在


下一篇:SQL Server 批量完整备份