溫馨提示×

如何在c++中實現(xiàn)unix時間戳的加減運(yùn)算

c++
小樊
81
2024-09-24 21:40:05
欄目: 編程語言

在 C++ 中,可以使用 <chrono> 庫來處理 Unix 時間戳(以秒為單位的時間)的加減運(yùn)算。

以下是一個示例代碼,展示如何進(jìn)行 Unix 時間戳的加減運(yùn)算:

#include <iostream>
#include <chrono>

using namespace std::chrono;

int main() {
    // 獲取當(dāng)前 Unix 時間戳(以秒為單位)
    auto now = system_clock::now();
    int current_timestamp = duration_cast<seconds>(now.time_since_epoch()).count();
    std::cout << "當(dāng)前 Unix 時間戳:" << current_timestamp << std::endl;

    // Unix 時間戳加減運(yùn)算
    int timestamp_plus_1_day = current_timestamp + 86400; // 加一天
    int timestamp_minus_1_hour = current_timestamp - 3600; // 減一個小時

    std::cout << "當(dāng)前 Unix 時間戳加一天:" << timestamp_plus_1_day << std::endl;
    std::cout << "當(dāng)前 Unix 時間戳減一個小時:" << timestamp_minus_1_hour << std::endl;

    return 0;
}

輸出結(jié)果:

當(dāng)前 Unix 時間戳:1629876479
當(dāng)前 Unix 時間戳加一天:1629880079
當(dāng)前 Unix 時間戳減一個小時:1629872879

在上面的示例中,我們首先獲取了當(dāng)前的 Unix 時間戳(以秒為單位),然后對其進(jìn)行了加減運(yùn)算。加減運(yùn)算的結(jié)果仍然是 Unix 時間戳(以秒為單位)。如果需要將結(jié)果轉(zhuǎn)換為其他時間單位(如毫秒或微秒),可以使用 duration_cast 進(jìn)行轉(zhuǎn)換。

0