精选C语言教程:关于C库函数-mktime()

开课吧开课吧锤锤2021-03-30 11:29

    C作为一种通用的计算机程序设计语言,广泛应用于底层开发。该设计旨在提供一种编程语言。该语言编译简单,可处理底层内存,只生成少量机器代码,无需任何操作环境支持即可运行。

c

    描述

    C库函数time_tmktime(structtm*timeptr)把timeptr所指向的结构转换为一个依据本地时区的time_t值。

    声明

    下面是mktime()函数的声明

time_t mktime(struct tm *timeptr)

    参数

    timeptr--这是指向表示日历时间的time_t值的指针,该日历时间被分解为以下各部分。下面是timeptr结构的细节:

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;       /* 夏令时                        */    
};

    返回值

    该函数返回一个time_t值,该值对应于以参数传递的日历时间。如果发生错误,则返回-1值。

    实例

    下面的实例演示了mktime()函数的用法

/* 输入日期判断是周几 */
#include <stdio.h>      /* printf, scanf */
#include <time.h>       /* time_t, struct tm, time, mktime */
 
int main ()
{
    time_t rawtime;
    struct tm * timeinfo;
    int year, month ,day;
    const char * weekday[] = { "周日", "周一","周二", "周三","周四", "周五", "周六"};
 
    /* 用户输入日期 */
    printf ("年: "); fflush(stdout); scanf ("%d",&year);
    printf ("月: "); fflush(stdout); scanf ("%d",&month);
    printf ("日: "); fflush(stdout); scanf ("%d",&day);
 
    /* 获取当前时间信息,并修改用户输入的输入信息 */
    time ( &rawtime );
    timeinfo = localtime ( &rawtime );
    timeinfo->tm_year = year - 1900;
    timeinfo->tm_mon = month - 1;
    timeinfo->tm_mday = day;
 
    /* 调用 mktime: timeinfo->tm_wday  */
    mktime ( timeinfo );
 
    printf ("那一天是:%s\n", weekday[timeinfo->tm_wday]);
 
    return 0;
}

    让我们编译并运行上面的程序,这将产生以下结果:

年: 2018
月: 7
日: 26
那一天是:周四

    以上内容为C库函数--mktime()-time_tmktime(structtm*time);更多的C++教程都在开课吧广场C++教程频道。

有用
分享