📜  eosio 获取时间 - C++ (1)

📅  最后修改于: 2023-12-03 14:40:59.632000             🧑  作者: Mango

在 EOSIO 中获取时间

在 EOSIO 中,我们可以使用 C++ 代码来获取当前时间。EOSIO 提供了一种特殊的时间类型 time_point_sec,可以轻松获取当前时间,以及在合约内进行时间计算。

以下是一个示例代码片段,展示如何在 EOSIO 中获取时间:

#include <eosio/eosio.hpp>
#include <eosio/system.hpp>

using namespace eosio;

CONTRACT time_example : public contract {
public:
  using contract::contract;

  ACTION get_current_time() {
    auto current_time = current_time_point().sec_since_epoch();

    print("Current time: ", current_time);
  }
};

EOSIO_DISPATCH(time_example, (get_current_time))

代码解析:

  1. 导入所需的 EOSIO 头文件。
  2. current_time_point() 函数用于获取当前时间点,返回 time_point_sec 类型的时间对象。
  3. 使用 sec_since_epoch() 函数获取时间对象的秒数表示。
  4. get_current_time() action 中,我们调用 current_time_point().sec_since_epoch() 来获取当前时间,并使用 print() 函数进行输出。

注意:上述代码是一个简单的示例,仅用于演示如何获取当前时间。实际应用中,我们可以根据需要进行更复杂的时间操作和计算。

使用 eosio-cpp 编译器编译上述合约,并进行部署和调用后,将输出当前时间的秒数表示。