您好,登錄后才能下訂單哦!
這篇文章主要講解了“C語言系統日期和時間問題怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C語言系統日期和時間問題怎么解決”吧!
輸出系統的日期以及時間。
在本代碼當中只有一個main函數將各個控制命令保存在數組當中,然后適用循環語句設置一個死循環。在該循環當中讓用戶輸入命令指令,并且判斷用戶輸入的命令是否和數組當中存儲的命令是否相同。如果它們是相同的,則執行相對應的內容。
用戶進行某一個操作需要輸入一個命令,如果命令輸入錯誤,系統會進行提示。
當用戶輸入命令字符"0"會顯示幫助信息。
當用戶輸入命令字符"1"會顯示系統日期。
當用戶輸入命令字符"2"會顯示系統時間。
當用戶輸入命令字符"3"會執行退出系統。
一:需要保證程序能夠一直執行下去,等待用戶的命令防止主函數結束。
二:獲取系統日期和系統時間。
結構體struct tm當中的結構成員如下↓
int tm_sec 分后的秒(0-61) 多出來的兩秒是用來處理跳秒問題用的
int tm_min 小時后的分(0-59)
int tm_hour 午夜后的小時(0-23)
int tm_mday 月中的天(0-31) 本月第幾日
int tm_mon 一月后的月數(0-11) 本年第幾月
int tm_year 1900年后的年數,要加1900表示那一年
int tm_wday 星期日后的天數(0-6) 本周第幾日
int tm_yday 一月一日后的天數(0-365),本年第幾日,閏年有366日
int tm_isdst 夏令時標志(大于0的值說明夏令時有效,0說明無效,負數說明信息不可用)
描述
C語言當中的庫函數 time_t time(time_t *seconds) 返回自紀元 Epoch(1970-01-01 00:00:00 UTC)起經過的時間,以秒為單位。如果 seconds 不為空,則返回值也存儲在變量 seconds 中。
聲明
下面是 time() 函數的聲明。
time_t time(time_t *seconds)
注→這個存儲的類型是時間類型也就是time_t在我們獲取系統日期之前我們需要定義一個時間類型的變量。
參數
seconds -- 這是指向類型為 time_t 的對象的指針,用來存儲 seconds 的值。
返回值
以 time_t 對象返回當前日歷時間。
描述
C 庫函數 struct tm *localtime(const time_t *timer) 使用 timer 的值來填充 tm 結構。timer 的值被分解為 tm 結構,并用本地時區表示。
聲明
下面是 localtime() 函數的聲明。
struct tm *localtime(const time_t *timer)
參數
timer -- 這是指向表示日歷時間的 time_t 值的指針。
返回值
該函數返回指向 tm 結構的指針,該結構帶有被填充的時間信息。
系統日期&時間 → 代碼示例如下↓
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<time.h> #include<Windows.h> //結構體指針變量指向(->)的就是結構體類型當中成員變量 struct tm* fun_Time; void color(short x) { if (x >= 0 && x <= 15) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x); else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); } void menu() { color(0); system("cls"); color(10); printf("|--------- 系統&時間 --------|\n"); printf("|-------★ 1.系統日期 ★------|\n"); printf("|-------★ 2.系統時間 ★------|\n"); printf("|-------★ 3.退出系統 ★------|\n"); } void Time() { time_t Time;//定義時間類型 time(&Time);//獲取系統日期 //注:指針變量接收地址,在這里我們定義了結構體指針變量所以只需要用結構體指針當中變量用來存儲地址即可。 //struct tm* fun_Time = localtime(&Time);同理 fun_Time = localtime(&Time);//轉換為系統時間 } int main(void) { const int date[4] = {0,1,2,3}; int n = 0; printf("請輸入[0]獲取幫助信息:"); while (1) { color(1); scanf_s("%d", &n); if (date[0] == n) menu(); else if (date[1] == n) { Time();//時間屬性 printf("系統日期:%d-%d-%d\n", 1900 + fun_Time->tm_year, fun_Time->tm_mon + 1, fun_Time->tm_hour); } else if (date[2] == n) { Time();//時間屬性 printf("系統日期:%d:%d:%d\n", fun_Time->tm_hour, fun_Time->tm_min, fun_Time->tm_sec); } else if (date[3] == n) { printf("退出EXIT!\n"); break; } else printf("你輸入的指令錯誤,請重新輸入:"); } return 0; }
⒈獲取信息
⒉系統日期⒊系統時間⒋退出EXIT
感謝各位的閱讀,以上就是“C語言系統日期和時間問題怎么解決”的內容了,經過本文的學習后,相信大家對C語言系統日期和時間問題怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。