21xrx.com
2024-09-19 10:14:03 Thursday
登录
文章检索 我的文章 写文章
使用C语言实现判断某日期是星期几
2023-06-15 17:18:30 深夜i     --     --
C语言 日期处理 time

在进行日期处理时,我们经常需要判断某一天是星期几,这在日历、日程安排等方面都有很大的应用。C语言提供了计算日期的函数库time.h,其中包含了计算星期几的函数。接下来让我们来看一下具体的实现方法。

首先,我们需要利用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)*/

  int tm_year;  /*从1900年开始至今的年数(例如2022年为122)*/

  int tm_wday;  /*星期几(0-6),0代表星期日*/

  int tm_yday;  /*从每年1月1日开始至今的天数(0-365)*/

  int tm_isdst; /*日光节约时间*/

};

其中tm_wday就是星期几,其取值范围为0-6,0代表星期日,1代表星期一,以此类推。

接下来,我们可以使用time.h库中的函数将一个日期转化为tm结构体的形式,再从中获取星期几。下面是实现代码:


#include

#include

int main()

{

  int year, month, day;

  printf("请输入年份:");

  scanf("%d", &year);

  printf("请输入月份:");

  scanf("%d", &month);

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

  scanf("%d", &day);

  struct tm t = {0};

  t.tm_year = year - 1900;

  t.tm_mon = month - 1;

  t.tm_mday = day;

  mktime(&t);

  printf("%d年%d月%d日是星期%d", year, month, day, t.tm_wday);

  return 0;

}

上述代码中,我们先从用户处输入年份、月份和日期,然后利用结构体tm对其进行初始化。将年份减去1900后,再将月份减1,即可得到正确的tm结构体。接下来,我们调用mktime函数将tm结构体转化为时间戳,然后就可以获取该日期的星期几了。

文章 .h库、tm结构体、星期几、时间戳。

  
  

评论区

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