
- C標準庫
- C庫 - 首頁
- C庫 - <assert.h>
- C庫 - <complex.h>
- C庫 - <ctype.h>
- C庫 - <errno.h>
- C庫 - <fenv.h>
- C庫 - <float.h>
- C庫 - <inttypes.h>
- C庫 - <iso646.h>
- C庫 - <limits.h>
- C庫 - <locale.h>
- C庫 - <math.h>
- C庫 - <setjmp.h>
- C庫 - <signal.h>
- C庫 - <stdalign.h>
- C庫 - <stdarg.h>
- C庫 - <stdbool.h>
- C庫 - <stddef.h>
- C庫 - <stdio.h>
- C庫 - <stdlib.h>
- C庫 - <string.h>
- C庫 - <tgmath.h>
- C庫 - <time.h>
- C庫 - <wctype.h>
- C程式設計資源
- C程式設計 - 教程
- C - 有用資源
C庫 - time() 函式
C庫的time()函式返回自紀元(UTC 1970年1月1日00:00:00)以來的秒數。如果seconds不為NULL,則返回值也會儲存在變數seconds中。
在time()函式的上下文中,紀元確定時間戳值,即日期和時間。
語法
以下是C庫time()函式的語法:
time_t time(time_t *t)
引數
此函式只接受單個引數:
- seconds - 這是指向time_t型別物件的指標,秒數值將儲存在此處。
返回值
此函式返回當前日曆時間,作為一個time_t物件。
示例1
以下是一個基本的C庫程式,用於演示time()函式。
#include <stdio.h> #include <time.h> int main () { time_t seconds; seconds = time(NULL); printf("Hours since January 1, 1970 = %ld\n", seconds/3600); return(0); }
輸出
以上程式碼產生以下結果:
Hours since January 1, 1970 = 393923
示例2
這裡,我們使用time()函式以秒為單位測量時間值。
#include <stdio.h> #include <time.h> int main() { time_t sec; // Store time in seconds time(&sec); printf("Seconds since January 1, 1970 = %ld\n", sec); return 0; }
輸出
執行上述程式碼後,我們將得到以下結果:
Seconds since January 1, 1970 = 1715856016
示例3
在這個例子中,我們使用time()函式以秒數的形式返回當前日曆時間。因此,結果值最好作為Unix時間戳。
#include <stdio.h> #include <time.h> int main(void) { // Get the current time time_t now = time(NULL); printf("Current timestamp: %ld\n", now); // Convert to local time struct tm *local_time = localtime(&now); printf("Local time: %s", asctime(local_time)); // Calculate a new time (add 1 minute) local_time -> tm_min += 1; time_t new_time = mktime(local_time); printf("New timestamp (1 minute later): %ld\n", new_time); // Format the time char formatted_time[100]; strftime(formatted_time, sizeof(formatted_time), "%l %p", local_time); printf("Formatted time: %s\n", formatted_time); // Measure execution time clock_t start = clock(); for (int i = 0; i < 100000000; ++i) { } clock_t end = clock(); double total_time = (double)(end - start) / CLOCKS_PER_SEC; printf("Execution time: %.6f seconds\n", total_time); return 0; }
輸出
執行上述程式碼後,我們將得到以下結果:
Current timestamp: 1715853945 Local time: Thu May 16 10:05:45 2024 New timestamp (1 minute later): 1715854005 Formatted time: 10 AM Execution time: 0.213975 seconds
廣告