21xrx.com
2024-12-22 23:28:09 Sunday
登录
文章检索 我的文章 写文章
如何使用C语言判断输入日期对应的周几
2023-06-15 16:31:35 深夜i     --     --
C语言 日期 星期几 time

在日常开发中,有时需要根据用户输入的日期来进行判断其对应的星期几,而C语言作为一门广泛使用的编程语言,在这方面也提供了相应的函数库,可以帮助开发者实现这一需求。

在C语言中,可以利用time.h头文件中的结构体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,0表示1月,11表示12月 */

  int tm_year;  /* 年份,其值为实际年份减去1900 */

  int tm_wday;  /* 星期几,取值范围为0~6,0表示周日,6表示周六 */

  int tm_yday;  /* 今年的第几天,取值范围为0~365 */

  int tm_isdst; /* 是否为夏令时 */

};

其中,成员变量tm_wday就表示了当前日期对应的星期几。可以用以下代码实现该功能:

#include

#include

#include

int main() {

  int year, month, day;

  printf("请输入日期(年 月 日):");

  scanf("%d %d %d", &year, &month, &day);

  struct tm time = {0};

  time.tm_year = year - 1900;

  time.tm_mon = month - 1;

  time.tm_mday = day;

  mktime(&time);

  printf("%d年%d月%d日是周%d\n", year, month, day, time.tm_wday);

  return 0;

}

以上代码通过用户输入年月日,然后构造一个tm结构体,并调用mktime函数将其转换成时间戳,进而得到对应的星期几。

.h、tm结构体、mktime函数

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复