Mktime意思

mktime 是一個 C 語言庫函式,它屬於 time.h 頭檔案。這個函式用於將一個表示為 struct tm 的日期和時間轉換為 Unix 時間戳。Unix 時間戳是以秒為單位的自從 1970 年 1 月 1 日(UTC)以來的總秒數。

struct tm 是一個結構體,它包含了年、月、日、小時、分鐘、秒等信息。mktime 函式會根據這個結構體中的信息來計算出相應的 Unix 時間戳。

以下是 mktime 函式的原型:

time_t mktime(struct tm *timeptr);

其中,timeptr 是指向 struct tm 類型的指針,mktime 函式返回一個 time_t 類型的值,這個值是表示給定日期時間的 Unix 時間戳。

下面是一個簡單的例子,展示了如何使用 mktime 函式:

#include <stdio.h>
#include <time.h>

int main() {
    struct tm time_info;
    time_info.tm_year = 120; // 2020年
    time_info.tm_mon = 1; // 1月
    time_info.tm_mday = 1; // 1日
    time_info.tm_hour = 0; // 0點
    time_info.tm_min = 0; // 0分
    time_info.tm_sec = 0; // 0秒

    time_t timestamp = mktime(&time_info);
    printf("The Unix timestamp is: %ld\n", timestamp);

    return 0;
}

在這個例子中,我們定義了一個 struct tm 變數 time_info,並設定了它的各個成員,表示一個特定的日期和時間。然後我們調用 mktime 函式,將 time_info 轉換為 Unix 時間戳,並列印出來。

需要注意的是,mktime 函式會根據本地時區信息來調整時間,所以如果你的程式需要處理不同時區的時間,可能需要考慮時區轉換的問題。