溫馨提示×

c++ std時間處理如何做

c++
小樊
128
2024-11-15 14:34:59
欄目: 編程語言

C++ 的標準庫 <ctime> 提供了豐富的日期和時間處理功能。以下是一些基本示例,展示了如何使用 C++ 標準庫進行時間處理:

  1. 獲取當前時間:
#include <iostream>
#include <ctime>

int main() {
    std::time_t now = std::time(nullptr);
    std::cout << "當前時間: " << std::ctime(&now) << std::endl;
    return 0;
}
  1. 解析時間字符串:
#include <iostream>
#include <ctime>
#include <sstream>

int main() {
    std::string time_str = "2021-06-01 12:34:56";
    std::tm tm = {};
    std::istringstream iss(time_str);
    iss >> std::get_time(&tm, "%Y-%m-%d %H:%M:%S");

    if (iss.fail()) {
        std::cerr << "解析時間字符串失敗" << std::endl;
        return 1;
    }

    std::time_t time = std::mktime(&tm);
    std::cout << "解析后的時間: " << std::ctime(&time) << std::endl;
    return 0;
}
  1. 格式化時間:
#include <iostream>
#include <ctime>

int main() {
    std::time_t now = std::time(nullptr);
    std::tm* local_time = std::localtime(&now);

    char buffer[80];
    std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", local_time);
    std::cout << "格式化后的時間: " << buffer << std::endl;
    return 0;
}
  1. 計算時間差:
#include <iostream>
#include <ctime>

int main() {
    std::time_t now = std::time(nullptr);
    std::tm* local_time = std::localtime(&now);

    std::time_t later = now + 60 * 60; // 1小時后
    std::tm* later_time = std::localtime(&later);

    std::cout << "當前時間: " << std::ctime(local_time) << std::endl;
    std::cout << "1小時后: " << std::ctime(later_time) << std::endl;
    return 0;
}

這些示例展示了如何使用 C++ 標準庫進行基本的時間處理。你可以根據需要調整代碼以滿足特定需求。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女