C语言 今天之前的第n天是星期几?

 我来答
自我编程
2021-03-24 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

 思路:

1、利用time.h头文件下的time函数获取从1970年至今的秒数。

2、通过获取到的秒数-N天的秒数(N*24*60*60),得到的就是n天前的日期对应秒数。

3、利用localtime函数将秒数转换成日期结构体struct tm。这个结构体里包含了年月日时分秒星期等等信息。

4、直接用asctime函数将struct tm结构信息转成成可定字符串打印输出(显示星期几、年月日、时分秒)。

当然你也可以直接通过struct tm结构体指针获取其星期的成员值输出(成员int tm_wday; 表示星期 – 取值[0,6],0:星期天,1:星期一,以此类推 )。

演示代码如下:

#include <stdio.h>

#include<time.h>

int main()

{

    int n,w;

    struct tm *tDate;

    time_t tt;

    time(&tt);

    printf("请输入(天数)n的值:"),scanf("%d",&n);

    tt-=n*24*60*60;

    tDate=localtime(&tt);

    printf("%d天前的日期:\n",n);

    printf("1、通过函数asctme转换字符串打印:%s\n",asctime(tDate));

    w=tDate->tm_wday;

    printf("2、通过结构成员获取,%d天前是星期",n);

    switch(w)

    {

        case 0:printf("日\n");break;

        case 1:printf("一\n");break;

        case 2:printf("二\n");break;

        case 3:printf("三\n");break;

        case 4:printf("四\n");break;

        case 5:printf("五\n");break;

        case 6:printf("六\n");break;

    }

    return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式