zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

区块链Block创建时间

区块 创建 时间 Block
2023-09-27 14:28:49 时间

区块时间获取

无论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