time.h

clock_t
这是一个适合存储处理器时间的类型。
time_t
这是一个适合存储日历时间的类型。
struct tm
这是一个用来保存时间和日期的结构。
tm 结构的定义如下:

struct tm {
int tm_sec; /* 秒,范围从 0 到 59 */
int tm_min; /* 分,范围从 0 到 59 */
int tm_hour; /* 小时,范围从 0 到 23 */
int tm_mday; /* 一月中的第几天,范围从 1 到 31 */
int tm_mon; /* 月,范围从 0 到 11 */
int tm_year; /* 自 1900 年起的年数 */
int tm_wday; /* 一周中的第几天,范围从 0 到 6 */
int tm_yday; /* 一年中的第几天,范围从 0 到 365 */
int tm_isdst; /* 夏令时 */
};

获取系统时间

int main(int argc, char *argv[])
{
    time_t rawtime = 0;
    struct tm *lt = NULL;

    // time_t time(time_t *timer)
    // 获取Unix时间戳(计算当前日历时间,并把它编码成time_t格式)
    time(&rawtime);
    
    // char *ctime(const time_t *timer)
    printf("方式一:基于timer,返回时间字符串\n%s\n", ctime(&rawtime));

    // struct tm *localtime(const time_t *timer)
    // timer的值被分解成tm结构
    lt = localtime(&rawtime);

    printf ( "方式二:%d/%d/%d %d:%d:%d\n\n",lt->tm_year+1900, lt->tm_mon+1, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);
    
    // char *asctime(const struct tm *timeptr)
    printf("方式三:基于结构timeptr,返回时间字符串\n%s\n", asctime(lt));

    return 1;
}
计算处理器运行时间
int main(int argc, char *argv[])
{
    clock_t start = 0, end = 0;
    int i = INT_MAX;

    // clock_t clock(void)
    // 返回程序执行起,处理器时钟所使用的时间
    start = clock();
    while (i--);
    end = clock();

    printf("%f\n", (double)(end-start)/CLOCKS_PER_SEC);

    return 1;
}
posted @ 2023-05-05 00:45  jason8826  阅读(29)  评论(0)    收藏  举报