一共有兩段代碼,一個是獲取當前時間,一個是獲取到現在的總毫秒數 求關注😄 互粉必回
獲取當前時間
#include <stdio.h>
#include <time.h>
int main() {
? ? time_t rawtime;
? ? struct tm * timeinfo;
? ? char buffer[20];
? ? // 獲取當前時間
? ? time(&rawtime);
? ? timeinfo = localtime(&rawtime);
? ? // 使用 strftime 來格式化時間
? ? strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo);
? ? // 輸出格式化后的時間
? ? printf("當前時間是: %s\n", buffer);
? ? return 0;
}
獲取到現在的總毫秒數
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
int main() {
? ? struct timeval tv;
? ? struct tm *now;
? ? long total_milliseconds;
? ? // 獲取當前時間
? ? gettimeofday(&tv, NULL);
? ? // 將時間戳轉換為可讀的tm結構體
? ? now = localtime(&tv.tv_sec);
? ? // 計算總毫秒數
? ? total_milliseconds = (now->tm_year + 1900) * 31536000000L; // 一年大約有31536000000毫秒
? ? total_milliseconds += (now->tm_mon + 1) * 2628000000L; // 一個月大約有2628000000毫秒
? ? total_milliseconds += now->tm_mday * 86400000L; // 一天有86400000毫秒
? ? total_milliseconds += now->tm_hour * 3600000L; // 一小時有3600000毫秒
? ? total_milliseconds += now->tm_min * 60000L; // 一分鐘有60000毫秒
? ? total_milliseconds += now->tm_sec * 1000L; // 一秒有1000毫秒
? ? total_milliseconds += tv.tv_usec / 1000; // 將微秒轉換為毫秒
? ? // 輸出總毫秒數
? ? printf("總毫秒數: %ld\n", total_milliseconds);
? ? return 0;
}