p7-7.c

来自「SUN Solaris8平台下进程间通信」· C语言 代码 · 共 44 行

C
44
字号
#include <stdio.h>#include <stdlib.h>#include <time.h>#include <errno.h>void report_time(struct tm *);static char *wday[7]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};int main(void){    time_t    the_time;    struct    tm  *tm_time;    struct    tm  unknown_time = {    /* sec, min, hour, mday, mon, year, wday, yday, isdst */       40,  30,  2,    1,    8,   98,   0,    259,  0,    };    time (&the_time);                            /*  取当前原始时间  */    printf (" current raw time is %ld\n", the_time);    tm_time = gmtime(&the_time);      /*  转换原始时间至GMT分解时  */    printf (" gmtime gives: \n");    report_time(tm_time);    /*  转换原始时间至本地时  */    tm_time = localtime (&the_time);    printf (" localtime gives: \n");    report_time(tm_time);    /*  转换一个用分解时表示的不存在的日期至原始时间  */    the_time = mktime (&unknown_time);    if ( the_time <0 )         printf ("ERROR: mktime() call failed\n");        else {        printf (" after calling mktime:\n");        printf ("     time = %ld\n", the_time);            report_time(&unknown_time);            printf ("     weekday: %s   yearday: %d\n",            wday[unknown_time.tm_wday], unknown_time.tm_yday);    }}void report_time(struct tm *tm_ptr){    printf ("     date: %02d/%02d/%02d\n",              tm_ptr->tm_year, tm_ptr->tm_mon+1, tm_ptr->tm_mday);    printf ("     time: %02d:%02d:%02d\n",              tm_ptr->tm_hour, tm_ptr->tm_min, tm_ptr->tm_sec);    asctime(tm_ptr);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?