获取当前时间并写入文件
题目描述:
设计程序,获取当前系统时间,把时间转换为特定格式”y年mm月dd日 星期xtt:mm:ss”,并每隔 1s 写入到本地磁盘中一个叫做log.txt 的文本中,如果文本不存在则创建。
代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| int main(int argc, char const *argv[]) { if (argc != 2) { printf("argumemt is invalid\n"); return -1; }
FILE *file = fopen(argv[1],"w"); if (file == NULL) { perror("fopen"); return -1; } while (1) { time_t now = time(NULL); struct tm *now_time = localtime(&now);
char *week; switch (now_time->tm_wday) { case 1: week = "一"; break; case 2: week = "二"; break; case 3: week = "三"; break; case 4: week = "四"; break; case 5: week = "五"; break; case 6: week = "六"; break; default: week = "日"; break; }
fprintf(file, "%d年%d月%d日 星期%s %02d:%02d:%02d\n", now_time->tm_year + 1900, now_time->tm_mon + 1, now_time->tm_mday, week, now_time->tm_hour, now_time->tm_min, now_time->tm_sec);
fflush(file);
sleep(1); } fclose(file);
return 0; }
|
出现问题
Lunux系统的时间不准确。
解决方案:
1
| sudo hwclock --hctosys // 同步本机时间
|