背景
通过学习Solidity,然后输出文章检验自己的学习成果github仓库
基础知识
Solidity中自带时间单位,它们分别是- seconds
- minutes
- hours
- days
- weeks
- 基本换算关系如下:
- 1 == 1 seconds
- 1 minutes == 60 seconds
- 1 hours == 60 minutes
- 1 days == 24 hours
- 1 weeks == 7 days
seconds为缺省时间单位- 在
Solidity 0.5.0之后,years已经被移除
例子
该例子是判断当前时间是否大于合约部署后的一分钟
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract TimeUnits {
uint public start;
constructor(){
start = block.timestamp;
}
function judge() public view returns (bool) {
if (block.timestamp >= start + 1 minutes)
return true;
return false;
}
}
程序解析
function judge() public view returns (bool) {
if (block.timestamp >= start + 1 minutes)
return true;
return false;
}
- 这些时间单位是不能直接用在
变量后面,想要使用,必须将输入变量换算为时间